亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-09-07 02:04:03王碧瑤
        數(shù)字技術與應用 2017年5期
        關鍵詞:搜索引擎

        王碧瑤

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

        關鍵詞:Python;網(wǎng)絡爬蟲技術;搜索引擎

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

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

        利用模塊化的設計來對網(wǎng)絡爬蟲系統(tǒng)進行開發(fā),一個通用的爬蟲架構需要有爬蟲調(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)絡請求分析之后,發(fā)現(xiàn)是positionAjax.json請求去響應職位信息,網(wǎng)頁存儲職位信息采用的是json格式,并且json的層級結(jié)構為content-positionResult-result,所以采用json格式讀取這種層級結(jié)構下的數(shù)據(jù)。其次就是分頁的設計,在json格式content-positionResult-totalCount下存儲著該種搜索下職位信息的總個數(shù),發(fā)現(xiàn)每頁的職位個數(shù)為15,只要totalCount/15就可以得出爬取的頁數(shù)。

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

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

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

        首先確定URL為'https://www.lagou.com/jobs/positionAjax.json',瀏覽器提交的FormData有三個參數(shù)first、pn、kd,后兩個分別代表當前頁數(shù)和搜索的關鍵詞,頁數(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)絡爬蟲最先開始,隨后對每個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)先搜索策略,通過分析目標網(wǎng)頁主體和目前的URL的關聯(lián)性,并對評價好的URL進行擇優(yōu)抓??;總而言之,采取不同爬取策略是殊途同歸的,達到重要網(wǎng)頁的優(yōu)先爬取。

        2.3 反爬蟲的策略采取概述

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

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

        3 結(jié)語

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

        參考文獻

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

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

        猜你喜歡
        搜索引擎
        網(wǎng)絡搜索引擎亟待規(guī)范
        Nutch搜索引擎在網(wǎng)絡輿情管控中的應用
        警察技術(2015年3期)2015-02-27 15:37:09
        基于Nutch的醫(yī)療搜索引擎的研究與開發(fā)
        廣告主與搜索引擎的雙向博弈分析
        知識漫畫
        百科知識(2012年11期)2012-04-29 08:30:15
        搜索,也要“深搜熟濾”
        国产乱人伦真实精品视频| 国产精品久久久久久一区二区三区 | 国产最新进精品视频| 精品第一页| 亚洲春色视频在线观看| 干日本少妇一区二区三区| 亚洲成在人线在线播放无码| 在线视频一区色| 91精品人妻一区二区三区蜜臀| 日本一区二区三区熟女俱乐部| 久久久久久久极品内射| 国产思思99re99在线观看| 国产精品亚洲美女av网站| 国产一区二区三区视频地址| 久久无码专区国产精品| 日韩高清亚洲日韩精品一区| 日韩丝袜人妻中文字幕| 91精品人妻一区二区三区久久久 | 久久久久久国产精品mv| 亚洲AV无码一区二区三区ba| 一本久道在线视频播放| 18禁止进入1000部高潮网站| 97久久香蕉国产线看观看| 亚洲最大无码AV网站观看| 亚洲精品中文字幕一二三| 又湿又紧又大又爽a视频国产| 免费夜色污私人影院在线观看 | 美女内射毛片在线看免费人动物| 香蕉久久人人97超碰caoproen| 无码高潮少妇毛多水多水免费 | 欧美熟妇另类久久久久久不卡| 国产精品麻花传媒二三区别| 人妻少妇中文字幕久久69堂| 亚洲自拍偷拍色图综合| 日本高清视频www| 亚洲情a成黄在线观看动漫尤物| 超碰青青草手机在线免费观看 | 国产剧情av麻豆香蕉精品| 激情内射日本一区二区三区| 国产精品欧美久久久久老妞| 国产亚洲精品视频网站|