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