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

基于Python的網(wǎng)絡(luò)爬蟲技術(shù)研究

2017-09-07 02:04:03王碧瑤
關(guān)鍵詞:搜索引擎

王碧瑤

摘要:專用型的網(wǎng)絡(luò)爬蟲能夠得到想要的返回結(jié)果,本文就以拉勾網(wǎng)作為例子,對基于Python的網(wǎng)絡(luò)爬蟲技術(shù)進行研究和分析。

關(guān)鍵詞:Python;網(wǎng)絡(luò)爬蟲技術(shù);搜索引擎

中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1007-9416(2017)05-0076-01

1 爬蟲系統(tǒng)需求的分析和設(shè)計

利用模塊化的設(shè)計來對網(wǎng)絡(luò)爬蟲系統(tǒng)進行開發(fā),一個通用的爬蟲架構(gòu)需要有爬蟲調(diào)度端,URL管理器,網(wǎng)頁下載器,網(wǎng)頁解析器這4個模塊。爬蟲調(diào)度端去啟動、停止或者監(jiān)視爬蟲運行情況,URL管理器去對將要爬取的URL和已經(jīng)爬取過的URL進行管理,網(wǎng)頁下載器將URL管理器指定的URL網(wǎng)頁下載下來存儲為字符串,字符串傳送給網(wǎng)頁解析器進行解析,并將其中未被抓取過的URL送入URL管理器中。

公司名、地址以及薪水等都需要被抓取然后保存到文件中。拉勾網(wǎng)加載職位信息采用異步加載方式,所以對一系列網(wǎng)絡(luò)請求分析之后,發(fā)現(xiàn)是positionAjax.json請求去響應(yīng)職位信息,網(wǎng)頁存儲職位信息采用的是json格式,并且json的層級結(jié)構(gòu)為content-positionResult-result,所以采用json格式讀取這種層級結(jié)構(gòu)下的數(shù)據(jù)。其次就是分頁的設(shè)計,在json格式content-positionResult-totalCount下存儲著該種搜索下職位信息的總個數(shù),發(fā)現(xiàn)每頁的職位個數(shù)為15,只要totalCount/15就可以得出爬取的頁數(shù)。

2 基于Python的網(wǎng)絡(luò)爬蟲技術(shù)的實現(xiàn)

下面就利用拉勾網(wǎng)來進行基于Python的網(wǎng)絡(luò)爬蟲的實現(xiàn)。爬蟲首先要獲取的是所有待抓取的鏈接地址,再就是對鏈接地址中的職位信息進行有效解析,隨后保存在文件當(dāng)中。

2.1 抓取與解析的實現(xiàn)

首先確定URL為'https://www.lagou.com/jobs/positionAjax.json',瀏覽器提交的FormData有三個參數(shù)first、pn、kd,后兩個分別代表當(dāng)前頁數(shù)和搜索的關(guān)鍵詞,頁數(shù)每次增加1,并需要模仿瀏覽器發(fā)送post請求,并將headers進行偽裝,如下所示:

headers={'User-Agent':'Mozilla/5.0(Windows;U;Windows NT 6.0) Gecko/20070309 Firefox/2.0.0.3'}

得到頁面信息之后再對我們想要的信息進行抓取,對于這次要爬取的信息,json是非常適合的方法,僅列出薪水部分實現(xiàn)如下:

for posi in self.json['content']['positionResult']['result']

i['positionSalary']=position['salary']

2.2 爬蟲的抓取策略概述

策略一是深度的優(yōu)先遍歷策略,起始的URL會被網(wǎng)絡(luò)爬蟲最先開始,隨后對每個URL進行追蹤直到處理結(jié)束該處的URL,隨后就轉(zhuǎn)向下一處的URL繼續(xù)追蹤;策略二是反向的鏈接數(shù),其是其他的URL指向一個網(wǎng)頁的數(shù)量并以此對網(wǎng)頁重要程度進行評價,優(yōu)點是能夠根據(jù)重要性的網(wǎng)頁進行優(yōu)先爬取;策略三就是寬度優(yōu)點的遍歷策略,將新下載網(wǎng)頁包含的鏈接直接追加到待抓取URL隊列末尾;策略四是最佳的優(yōu)先搜索策略,通過分析目標(biāo)網(wǎng)頁主體和目前的URL的關(guān)聯(lián)性,并對評價好的URL進行擇優(yōu)抓取;總而言之,采取不同爬取策略是殊途同歸的,達到重要網(wǎng)頁的優(yōu)先爬取。

2.3 反爬蟲的策略采取概述

如果認(rèn)為單線程爬蟲設(shè)計方法速度較慢,不會發(fā)生被封的情況,其實是不對的,必須利用其他有效策略來操作才行,下面簡要分析相關(guān)的策略。

策略一是禁止cookies,若有些網(wǎng)站發(fā)現(xiàn)某個訪問頻繁發(fā)生,可能會將其視作爬蟲,并且通過cookies去識別訪問者的身份而拒絕該用戶的訪問,所以在scrapy爬蟲框架中設(shè)置COOKIES_ENABLES= FALSE即可禁止網(wǎng)站訪問cookie,對于通過cookie識別來禁止爬取數(shù)據(jù)的網(wǎng)站非常的有效。策略二,HTTP協(xié)議中的一個字段是User agent,偽裝其在瀏覽器是個很好的策略。策略三,可以對訪問頻率進行降低,讓對方無法從訪問量中看得出來。有眾多的辦法去實現(xiàn):對每個頁面間歇抓取、每天抓取的頁面數(shù)量進行限制等,其實scrapy爬蟲框架中,就可以設(shè)置下載等待時間download_delay來減少被禁止爬取的風(fēng)險。

3 結(jié)語

網(wǎng)頁的內(nèi)容以及網(wǎng)站的信息可以利用Python自帶的框架進行獲得,然后利用正則的表達式等對需要的信息進行提取以及分析。互聯(lián)網(wǎng)站點無數(shù),其開發(fā)過程遵循的原則、代碼的風(fēng)格也不一樣,所以處理不同風(fēng)格的代碼確實存在不小的挑戰(zhàn)。

參考文獻

[1]錢程,陽小蘭,朱福喜.基于Python的網(wǎng)絡(luò)爬蟲技術(shù)[J].黑龍江科技信息,2016,36:273.

[2]姜杉彪,黃凱林,盧昱江,張俊杰,曾志高,劉強.基于Python的專業(yè)網(wǎng)絡(luò)爬蟲的設(shè)計與實現(xiàn)[J].企業(yè)科技與發(fā)展,2016,08:17-19.endprint

猜你喜歡
搜索引擎
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
廣告主與搜索引擎的雙向博弈分析
知識漫畫
百科知識(2012年11期)2012-04-29 08:30:15
搜索,也要“深搜熟濾”
主站蜘蛛池模板: 四虎永久在线视频| 超碰免费91| 国产免费a级片| 无码AV高清毛片中国一级毛片| 国产精品女熟高潮视频| 国产小视频网站| 波多野结衣中文字幕久久| 国产精品成人一区二区| 午夜一级做a爰片久久毛片| 亚洲伊人电影| 日韩毛片免费观看| 亚洲最黄视频| 亚洲精品色AV无码看| 青青网在线国产| 尤物视频一区| 91精品专区国产盗摄| 无码免费的亚洲视频| 成年人福利视频| 丁香亚洲综合五月天婷婷| 2020精品极品国产色在线观看| 国产一级α片| 99er精品视频| 欧美一道本| 国产一二视频| 日韩中文精品亚洲第三区| 又粗又硬又大又爽免费视频播放| 亚洲综合中文字幕国产精品欧美 | 九九香蕉视频| 久久免费视频6| 亚洲国产亚综合在线区| 五月综合色婷婷| 激情网址在线观看| 毛片在线区| 一区二区日韩国产精久久| 成人福利视频网| 九九热在线视频| 欧美啪啪一区| 精品日韩亚洲欧美高清a| 国产精品对白刺激| 亚洲成人精品| 久久精品女人天堂aaa| 99re66精品视频在线观看| 狠狠色香婷婷久久亚洲精品| 欧美日韩综合网| 亚洲aⅴ天堂| 福利在线不卡一区| 亚洲女人在线| 国产jizzjizz视频| 亚洲天堂区| 亚洲三级电影在线播放| 国产呦视频免费视频在线观看| 日本一本正道综合久久dvd| 国产网友愉拍精品| 欧美国产在线一区| 九九久久精品国产av片囯产区| 久草青青在线视频| 美女被操黄色视频网站| 久精品色妇丰满人妻| 久久黄色免费电影| 国产亚洲高清视频| 伊人成人在线| 2020精品极品国产色在线观看 | 秘书高跟黑色丝袜国产91在线 | 午夜毛片免费看| 免费一级毛片完整版在线看| 免费观看亚洲人成网站| 国产91透明丝袜美腿在线| 欧美精品1区| 99国产精品免费观看视频| 蜜臀AV在线播放| 欧美成人综合在线| 亚洲日韩AV无码一区二区三区人| 欧美啪啪一区| 夜夜拍夜夜爽| 国产精品女熟高潮视频| 亚洲综合精品香蕉久久网| 熟女成人国产精品视频| 91一级片| 亚洲综合精品香蕉久久网| 国产精品成人免费视频99| 精品国产一区91在线| 97人妻精品专区久久久久|