国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Scrapy的新聞網頁數(shù)據抓取設計

2020-06-10 07:41秦亞紅普措才仁
電子技術與軟件工程 2020年4期
關鍵詞:爬蟲新聞標題網頁

秦亞紅 普措才仁

(西北民族大學數(shù)學與計算機科學學院 甘肅省蘭州市 730030)

中國新聞網每日及時發(fā)布新聞資訊、新聞事件動向,其中蘊含的數(shù)據信息量不言而喻[1]。加之近年來,研究人員不斷地對新聞數(shù)據進行研究,文獻[2]采用網絡爬蟲、中文分詞、向量空間模型、文本聚類等技術設計自動采集新聞并能聚類的系統(tǒng);本文則使用網絡爬蟲技術抓取中國網文化專題下的熱點新聞數(shù)據。

1 網絡爬蟲

網絡爬蟲根據實現(xiàn)的技術和系統(tǒng)大致分為通用網絡爬蟲、主題網絡爬蟲、增量式網絡爬蟲和深層網絡爬蟲[3]。Scrapy是一個為提取網頁中結構化數(shù)據而設計的爬蟲框架,通過Scrapy框架可以快速搭建一個簡易的網站數(shù)據爬取程序,并根據自身需要對其進行修改,以滿足數(shù)據抓取需求。其框架內各組件工作原理如圖1所示。

由圖1可以看出Scrapy框架的工作原理以及各組件之間的協(xié)作。組件中的數(shù)據流為:Scrapy Engine(以下簡寫為SE)從Spiders中獲取初始url并請求Schedule調度,在獲得要爬取的url時,通過Downloader Middlewares(以下簡寫為DM)轉發(fā)給Downloader,生成頁面響應后返回給SE,此時SE將收到的響應通過Spider Middlewares發(fā)送給Spider,Spider處理頁面響應并將爬取到的Item數(shù)據以及新的url請求返送給SE,SE將Item數(shù)據傳送到Item Pipeline,url請求交給Schedule,如此循環(huán)往復,直至Schedule中沒有滿足條件的url請求,程序停止。

2 網頁結構分析

爬取任何一個網站前都需對網頁結構進行分析,找出目標數(shù)據在網頁元素中的位置、新聞詳情頁鏈接變化規(guī)律、網頁數(shù)據開始抓取區(qū)域等?,F(xiàn)對相關網頁結構分析如圖2。

圖2中顯示新聞網頁內容主要分布在div class=”main2”下的left_box和right_box元素中。在爬取時,根據網頁中所需目標模塊,進行鏈接過濾,以免爬取不必要目標模塊中的新聞數(shù)據。

點擊進入hot_list區(qū)域中任意鏈接進行新聞詳情頁面結構分析如圖3。

圖1:Scrapy框架工作原理

圖2:新聞列表頁面結構

由圖3可分析新聞詳情頁面網頁結構:新聞標題在網頁元素中的位置為div class=”left_box”中的h1標簽中;新聞內容所在位置為div class=”center_box”中的p標簽中。使用xpath helper工具(Chrome瀏覽器插件)定位列表頁熱點新聞區(qū)域與詳情頁中新聞標題、內容等數(shù)據在網頁元素中的位置,程序中使用xpath語句提取新聞標題與內容數(shù)據。

圖3:新聞詳情頁面結構

3 新聞數(shù)據爬取

Scrapy使用Twisted這個異步網絡庫來處理網絡通訊,結構清晰,并且包含了各種中間件接口[4]。Scrapy框架進行數(shù)據抓取工作主要在Spider.py中實現(xiàn):給定初始url,通過rule規(guī)則進入特定url進行自定義目標數(shù)據抓取工作。Spider.py偽代碼如圖4所示。

框架中主要模塊文件Spider.py完成需編輯、修改相關模塊如:Pipeline.py文件,連接MySQL數(shù)據庫,使用SQL語句將Item中所傳遞的數(shù)據字段插入到數(shù)據表中;settings.py中設置下載延遲、修改ROBOTSTXT_OBEY為false等。此外,編寫程序啟動文件start.py,避免調試程序時輸入命令行。

圖4

4 實驗結果

部分實驗數(shù)據如圖5所示。

5 總結

以上實驗闡述了中國新聞網文化專題頁面數(shù)據抓取的分析、實現(xiàn)以及存儲方法,并成功抓取到目標數(shù)據,為新聞數(shù)據獲取提供有效、可行的方法。

圖5:部分實驗數(shù)據

猜你喜歡
爬蟲新聞標題網頁
利用網絡爬蟲技術驗證房地產灰犀牛之說
基于Python的網絡爬蟲和反爬蟲技術研究
談新聞標題的現(xiàn)實性
網絡新聞標題與報紙新聞標題的對比
基于CSS的網頁導航欄的設計
利用爬蟲技術的Geo-Gnutel la VANET流量采集
基于URL和網頁類型的網頁信息采集研究
大數(shù)據環(huán)境下基于python的網絡爬蟲技術
無意間擊中幽默的新聞標題
網頁制作在英語教學中的應用
巫山县| 浙江省| 隆化县| 呼玛县| 黄龙县| 建始县| 松原市| 西乌珠穆沁旗| 锡林郭勒盟| 东乡| 穆棱市| 梁山县| 密云县| 五河县| 得荣县| 延安市| 房产| 金华市| 南城县| 吉安市| 建宁县| 阿尔山市| 逊克县| 龙泉市| 湖南省| 平舆县| 项城市| 舒城县| 航空| 丁青县| 大悟县| 上虞市| 高台县| 浮梁县| 麻阳| 宜黄县| 汉阴县| 新沂市| 延吉市| 株洲市| 修武县|