asp讀取新聞列表代碼(asp讀取excel)
網(wǎng)站一般由欄目頁和內(nèi)容頁組成。首頁、主題、搜索結(jié)果等也可視為欄目頁。
采集網(wǎng)頁數(shù)據(jù),即從欄目頁獲得內(nèi)容頁地址列表,從內(nèi)容頁提取所需數(shù)據(jù)。
網(wǎng)頁數(shù)據(jù)采集有著廣泛的用途。例如,金融數(shù)據(jù)采集分析,門戶新聞實時監(jiān)控,監(jiān)控電商的庫存變化/價格變化,輿情分析,客戶資料采集,短視頻/文章同步發(fā)布到各平臺。因此,掌握好這門技術(shù),是非常有必要的。
現(xiàn)在,我們做一個熱點新聞推送到手機的功能。我們以某門戶站點的新聞熱搜榜單為采集對象,采集結(jié)果將發(fā)布到企業(yè)微信。
頁面分析
使用Chrome瀏覽器,按F12打開瀏覽器的開發(fā)者工具,再打開門戶站點。查看“網(wǎng)絡(luò)”面板的訪問列表,逐個查看,進而找到熱搜的請求地址:
https://www.xxx.com/hot-event/hot-board/?origin=xxx_pc_signature=********* 。這個地址后面帶了_signature,我們?nèi)サ粼囋?,直接訪問
https://www.xxx.com/hot-event/hot-board/?origin=xxx_pc ,發(fā)現(xiàn)可以打開。由此得出結(jié)論,僅僅采集該地址,即可獲得實時熱搜榜單。如下圖。
頁面分析
新建采集規(guī)則
打開“蜜蜂采集器”。在左側(cè)的“采集任務(wù)列表”上右鍵點擊,彈出菜單中選擇“添加采集任務(wù)”--“添加采集任務(wù)”。
采集任務(wù)的“基本設(shè)置”中,設(shè)置采集任務(wù)的名稱為“熱點新聞推送到手機”。其他默認。
采集任務(wù)的“列表頁”中,添加“普通網(wǎng)址”,內(nèi)容為
https://www.xxx.com/hot-event/hot-board/?origin=xxx_pc。
采集規(guī)則之列表頁
展開全文
如上圖。點擊下方“實時輸出”窗口的網(wǎng)址,在彈出菜單中選擇“測試網(wǎng)址采集”。
網(wǎng)址采集
采集任務(wù)的“網(wǎng)址采集”中,測試完畢后,展開下方“調(diào)試”區(qū)域的左側(cè)調(diào)試日志列表,選擇第一個“Http請求”日志,查看右側(cè)的“響應(yīng)內(nèi)容”的選項卡標簽,再復(fù)制其下方的具體內(nèi)容??梢钥吹?,這個具體內(nèi)容就是熱搜榜單的具體數(shù)值列表,數(shù)據(jù)格式為JSON格式。
采集規(guī)則之網(wǎng)址采集
復(fù)制這個JSON內(nèi)容,再選擇上方規(guī)則區(qū)域的“JSON分析工具”,將內(nèi)容粘貼到“JSON分析工具”的左側(cè)區(qū)域。
JSON分析工具
如圖,選中“Url”行,可以看到,JsonPath表達式為["data"][0]["Url"]。所以,“網(wǎng)址”標簽的采集規(guī)則(JsonPath)為["data"][*]["Url"]。但這個鏈接太長,我們使用瀏覽器打開對應(yīng)的新聞鏈接,發(fā)現(xiàn)實際網(wǎng)址是
https://www.xxx.com/trending/7189954117882609668/?rank=4log_from=9bc734edafd3a_1674090438028 這樣的結(jié)構(gòu)。其中rank是排名,這個是動態(tài)變化的,因此,應(yīng)該從網(wǎng)址中過濾掉rank參數(shù)。所以,只需要
https://www.xxx.com/trending/7189954117882609668/ 這樣的結(jié)果即可。所以,再添加一個“標簽數(shù)據(jù)二次處理”項————“字符串替換”,通配規(guī)則為[*]topic_id=[參數(shù)],替換規(guī)則為
https://www.xxx.com/trending/[參數(shù)1]。
“網(wǎng)址”標簽的采集
類似的,我們再增加一個“標題”標簽,采集規(guī)則(JsonPath)為["data"][*]["Title"]?!胺饷妗睒撕?,采集規(guī)則(JsonPath)為["data"][*]["Image"]["url"]?!盁岫取睒撕?,采集規(guī)則(JsonPath)為["data"][*]["HotValue"]。 如果以此采集,每次采集到50條記錄,一天內(nèi)多次采集,可能有上百條數(shù)據(jù)。因此,我們過濾一下??梢钥吹?,這50條記錄中,只有少量的Label值是hot,以此作為過濾條件。再增加一個“熱門”標簽,采集規(guī)則(JsonPath)為["data"][*]["Label"],并設(shè)置“內(nèi)容過濾處理”必須包含“hot”字符串。如圖。
內(nèi)容過濾處理
內(nèi)容采集
采集任務(wù)的“內(nèi)容采集”中,設(shè)置“熱門”標簽為臨時標簽。臨時標簽不入庫。因為“熱門”標簽僅僅用來過濾網(wǎng)址列表,無需入庫。
臨時標簽
采集任務(wù)的“內(nèi)容采集”中,“內(nèi)容”標簽的采集?!皟?nèi)容”標簽采集的是熱點新聞的概要。所以,先采集
https://www.xxx.com/trending/7190322924799131705 ,即“熱點新聞專題頁”,獲取里面的第一個新聞鏈接。再訪問新聞鏈接,獲取里面的新聞概要。如果“熱點新聞專題頁”中無法獲取到新聞鏈接,則新聞概要為空。
因此,提取新聞鏈接的采集規(guī)則(XPath)為//div[@class="feed-card-article-l"]/a/@href。XPath可以通過瀏覽器的開發(fā)者工具獲取,請參考相應(yīng)文檔。
隨后勾選“標簽數(shù)據(jù)二次處理”,并添加“網(wǎng)址補全/Http請求”項。
再添加一個“字符串截取”項,用于從“新聞鏈接頁面”提取概要。起始字符串為meta name="description" content=",結(jié)束字符串為"/。
再添加一個“添加內(nèi)容前后綴”項。 字符串后綴:
字符串后綴:
原文:[標簽:原文地址]
熱度:[標簽:熱度]
[標簽:封面]
考慮到“內(nèi)容”標簽可能為空,“添加內(nèi)容前后綴”時,取消勾選“內(nèi)容為空時,不添加前后綴”。
添加內(nèi)容前后綴
再添加一個“原文地址”標簽。設(shè)置“數(shù)據(jù)來源”為“從網(wǎng)址中提取”,并且提取方法為“字符串截取”,起始字符串和結(jié)束字符串均為空。
原文地址
測試采集規(guī)則。點擊下方的“測試”,測試是否正常執(zhí)行。在“網(wǎng)址采集”的測試窗口,雙擊記錄項 或 點擊“測試內(nèi)容采集”,即可獲得測試網(wǎng)址。
測試內(nèi)容采集
注意:測試采集時提示“您需要允許該網(wǎng)站執(zhí)行 JavaScript”,這是未設(shè)置Cookie所致。在管理器“Cookie管理”中添加Cookie項,在采集規(guī)則的“基本設(shè)置”中設(shè)置Cookie,即可。
內(nèi)容發(fā)布
打開主菜單“幫助”——“應(yīng)用市場”。類型選擇“內(nèi)容發(fā)布插件”。找到插件“發(fā)布到企業(yè)微信應(yīng)用”,點擊“下載”。
應(yīng)用市場
導(dǎo)入插件
如果沒有可用的PHP“外部程序”,請下載PHP,并添加到“外部程序管理中”。
點擊“保存”后,即創(chuàng)建了一個“發(fā)布到插件”的發(fā)布配置。
打開管理器“發(fā)布到插件”,選中剛剛添加的發(fā)布配置,點擊“修改”。填入您的企業(yè)微信開發(fā)者帳號信息。touser / toparty / totag 至少填寫一個,不能全部留空;corpid / corpsecret / agentid 必填。
發(fā)布到插件
切換回采集規(guī)則編輯窗口。添加“發(fā)布到插件”(點擊工具欄“發(fā)布到站點”后面的下拉圖標),并指定發(fā)布參數(shù)為剛剛添加的發(fā)布配置。點擊下方的“測試”,測試是否正常執(zhí)行。在“內(nèi)容采集”的測試窗口,雙擊記錄項 或 點擊“測試內(nèi)容發(fā)布”,即可獲得測試數(shù)據(jù)。
測試內(nèi)容發(fā)布
計劃任務(wù)
打開主菜單“視圖”——“計劃任務(wù)”。添加一個計劃任務(wù),執(zhí)行周期為10分鐘。
計劃任務(wù)
至此,就實現(xiàn)了我們自己的熱點新聞推送。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。