999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于頁面集的異步刷新頁面爬取技術研究

2020-03-02 01:16:20張萌
科技創新導報 2020年24期

張萌

摘? 要:對于網絡爬蟲來說,頁面都是“靜態”的。在實際的HTML頁面中,靜態的數據很少,并且很多數據通常通過異步刷新的方式填充到頁面中。如何在靜態頁面中捕獲異步刷新填充的數據是網絡爬蟲研究的關鍵。為了解決異步刷新獲取的問題,多個相互關聯的HTTP請求被合并,并加以解析。此外,進一步提出了頁面集的概念,即對需要抓取的數據進行歸類,將同一被抓取的鏈接中所有的請求鏈接歸在同一個集合中進行處理,使得數據的層次更清晰。

關鍵詞:網絡爬蟲? 靜態頁面? 請求? 異步刷新? 頁面集

中圖分類號:TP393? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2020)08(c)-0127-03

Abstract: For web crawlers, the pages are all "static". In actual HTML pages, there is very little static data, and a lot of data is usually filled into the page by asynchronous refresh. How to capture asynchronously refreshed and filled data in static pages is the key to web crawler research. In order to solve the problem of asynchronous refresh acquisition, multiple interrelated HTTP requests are merged and parsed. In addition, the concept of page set is further proposed, that is, to classify the data that needs to be crawled, and to process all the requested links in the same crawled link in the same set for processing, so that the data hierarchy is clearer.

Key Words: Web crawler; Static page; Request;Asynchronous refresh; Page set

網絡爬蟲[1]是一種計算機程序或自動腳本,可根據人們設置的規則自動獲取或下載網絡信息。使用網絡爬蟲來采集信息,對數據進行一定的過濾后,利用大數據分析,能夠總結經驗、發現規律、預測趨勢、輔助決策。它不僅可以充分利用和釋放海量數據資源所包含的巨大價值,而且可以促進新一代信息技術與各行各業之間的深度耦合和交叉創新[2]。

傳統的網絡爬蟲存在著一定的局限性,本文在開源網絡爬蟲框架WebMagic的基礎上,對異步刷新頁面內容的抓取進行研究,擬提出頁面集的概念,使得網絡爬蟲可以高效、平穩地運行,從而提高網絡爬蟲的采集效率,降低運維成本。

1? 異步刷新頁面的研究

1.1 目前爬蟲存在的問題

當前,網頁中大多數有用的數據都是通過Ajax來動態獲取的,還有一些Ajax的請求參數是依賴于JavaScript動態生成的。JavaScript可以執行的某些操作,是爬蟲程序很難甚至不能模仿的[3]。實際上,這些弊端是由搜尋器不是瀏覽器并且沒有JavaScript解析引擎引起的。為了解決這個問題,主要的應對策略是將JavaScript引擎引入網絡爬蟲。但是,這樣做有明顯的缺點。例如,當服務器同時執行多個爬取任務時,將會浪費太多的資源。另外,這些無窗口的JavaScript引擎通常不用作瀏覽器環境。當頁面內有跳轉時,將使過程難以控制[3]。

1.2 頁面集

傳統獲取異步刷新頁面的方案是:爬蟲取得URL之后,交給無頭瀏覽器渲染。這種方法處理起來比較簡單,但是也存在性能的問題。頁面集是本文提出的一個新的概念,即對需要抓取的數據進行歸類,將同一被抓取的鏈接中所有的請求鏈接歸在同一個集合中進行處理[4],使得數據的層次更清晰。

當種子URL中存在接口異步刷新的數據,且需要建立多層級聯任務時,解決方案如下:

(1)通過網頁調試工具postman向系統發送前端請求。

(2)當構建級聯任務時,對新的待下載URL進行分析。當系統判斷出待下載URL中包含特定的標簽時,表示該URL包含接口異步刷新的數據。從待下載URL中提取對應接口參數的值,作為下一層級聯任務的起始請求參數[5]。

(3)在下一層級聯任務中,根據baseUrl和步驟(2)中系統解析出的接口參數,可以獲得第二層級聯任務的接口異步刷新數據。更多層的級聯任務,均以此類推。

(4)將來自同一個父任務的鏈接,通過for循環批量獲取接口參數。并且,批量構造任務提交到待下載隊列中。

(5)采用rootJobId、parentJobId和jobId這三個參數,記錄鏈接之間的級聯關系以及構造頁面集。算法流程見圖1所示。

當請求傳遞到持久化模塊時,對任務的執行采取的是責任鏈模式。對本系統來說,將不同類型的接口定義為不同的處理節點,使用parallelStream()遍歷責任節點,并發地執行每個責任節點。

2? 對比實驗

為了對比頁面集的抓取效率和無頭瀏覽器的抓取效率,現將級聯深度分別定為3和4,對同一個URL進行抓取。

當級聯深度為3時,無頭瀏覽器的抓取時間是4min3s,而頁面集的抓取時間僅需2s。當級聯深度為4時,采用無頭瀏覽器進行抓取時,內存幾乎被占滿而導致無法繼續執行下去,需要通過限制最大同時打開窗口數來解決此問題。這種方式的弊端是限制了無頭瀏覽器的并發量。

無頭瀏覽器最大的弊端,就是依賴于瀏覽器,且非常耗資源,嚴重影響了整體的并行抓取能力。而頁面集是純服務接口級抓取,吞吐量極高,不會隨級聯深度的增加導致服務性能下降。

3? 結語

本系統僅以京東的商品鏈接為例,進行接口異步刷新數據的抓取。因為不同的網站HTML的參數不盡相同,無法用統一成一種相同的格式。針對不同的網站,進行接口異步刷新數據的抓取時,需要根據用戶的需求進行定制化修改。而且,一個京東商品鏈接中,縱向的相關商品鏈接與橫向的相關商品鏈接的接口都不相同。也就是說,當我們對京東商品鏈接進行數據抓取時,首先要分析一個HTML頁中,有哪些數據是由接口異步刷新填充的。其次,要分析這些接口是不是同一種接口。如果不是同一種接口,該如何獲取每一個接口異步刷新的數據。本系統針對不同的接口采取了不同的抓取數據的方式,是否能將不同的接口采用更簡化的方式進行數據的抓取,仍是今后需要討論研究的問題。

本系統的優勢在于,遇到不同的網站,只需要分析該網站的異步接口請求參數,擴充處理節點即可[6]。這種方式的好處在于程序的延展性好,避免了針對不同風格的網站開發相應爬蟲的繁瑣工作,節約了資源的同時使系統易于維護。

參考文獻

[1] Kevin.網絡爬蟲技術原理[J].計算機與網絡,2018,578(10):41-43.

[2] 張鵬.工信部解讀《大數據綱要》:推動信息技術與傳統產業深度耦合、交叉創新[J].通信世界,2015(25):5.

[3] 沈春澤,李加慶.“放下你手里的代碼”:爬蟲技術的善與惡、罪與罰[EB/OL].(2019-10-29).https://www.chinaz.com/news/2019/1029/1058770.shtml.

[4] 歐陽春.支持動態網頁解析的分布式網絡爬蟲系統的設計與實現[D].南京:東南大學,2017.

[5] 馬蕾.分布式爬蟲技術研究與實現[D].撫順:遼寧石油化工大學,2019.

[6] 樊宇豪.基于Scrapy的分布式網絡爬蟲系統設計與實現[D].成都:電子科技大學,2018.

主站蜘蛛池模板: 欧美在线导航| 漂亮人妻被中出中文字幕久久| 麻豆国产原创视频在线播放| 多人乱p欧美在线观看| 四虎国产精品永久一区| 亚洲精品在线影院| 国产一级在线观看www色| 澳门av无码| 欧美在线国产| 男人天堂伊人网| 亚洲国产一成久久精品国产成人综合| 国产啪在线| 激情亚洲天堂| 天堂中文在线资源| 欧美在线网| 丝袜久久剧情精品国产| 91视频国产高清| 91毛片网| 国产精品手机在线播放| 99精品伊人久久久大香线蕉| 国产乱人激情H在线观看| 国产又色又刺激高潮免费看| 亚洲精品无码高潮喷水A| 色欲色欲久久综合网| 亚洲AV无码一二区三区在线播放| 国外欧美一区另类中文字幕| 免费观看国产小粉嫩喷水 | 国产精品视频导航| 999福利激情视频| 午夜综合网| AV片亚洲国产男人的天堂| 亚洲一级毛片在线观播放| 亚洲 日韩 激情 无码 中出| 亚洲综合欧美在线一区在线播放| 亚洲人成影院午夜网站| 一本一道波多野结衣av黑人在线| 女人爽到高潮免费视频大全| 人人澡人人爽欧美一区| 久久99久久无码毛片一区二区| 免费国产一级 片内射老| 综合色区亚洲熟妇在线| 国产精品七七在线播放| 国产视频只有无码精品| 一级黄色欧美| 91在线中文| 精品综合久久久久久97| 在线观看热码亚洲av每日更新| 男女男免费视频网站国产| 国产一区二区三区夜色| 秘书高跟黑色丝袜国产91在线| 88av在线| 秘书高跟黑色丝袜国产91在线 | 亚洲a级在线观看| 久久综合色88| 国产精品第三页在线看| 亚洲永久精品ww47国产| 国产午夜看片| 亚洲日韩精品伊甸| 欧美劲爆第一页| 亚洲精品国产乱码不卡| 国产成人综合欧美精品久久| 干中文字幕| 国产精品福利一区二区久久| 欧美日韩在线国产| 九色视频一区| 欧美日韩一区二区三区四区在线观看 | 国产中文一区a级毛片视频| 国产成人一区在线播放| 伊人成人在线| 欧美综合成人| 国产亚洲欧美日本一二三本道| 亚洲视屏在线观看| 天天躁夜夜躁狠狠躁图片| 国产h视频免费观看| 亚洲精品成人片在线播放| 中文国产成人精品久久一| 亚洲日韩高清无码| 亚洲免费播放| 一本视频精品中文字幕| h网址在线观看| 天堂av综合网| 野花国产精品入口|