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

淺析Python網(wǎng)絡(luò)爬蟲

2020-12-14 04:08:57陳超
科學(xué)與財(cái)富 2020年30期

摘 要:網(wǎng)絡(luò)爬蟲(Web Spider)又稱網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人,是一段用來(lái)自動(dòng)化采集網(wǎng)站數(shù)據(jù)的程序。如果把互聯(lián)網(wǎng)比喻成一個(gè)蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來(lái)爬去的蜘蛛。Python適用于網(wǎng)站、桌面應(yīng)用開發(fā),自動(dòng)化腳本,復(fù)雜計(jì)算系統(tǒng),科學(xué)計(jì)算,生命支持管理系統(tǒng),物聯(lián)網(wǎng),游戲,機(jī)器人,自然語(yǔ)言處理等很多方面。本文簡(jiǎn)要介紹對(duì)于定向信息采集所需了解基本知識(shí)和相關(guān)技術(shù),以及python中與此相關(guān)的庫(kù),同時(shí)提供對(duì)與數(shù)據(jù)抓取有關(guān)庫(kù)的封裝實(shí)現(xiàn)。

一、應(yīng)用場(chǎng)景

爬蟲技術(shù)在科學(xué)研究、Web安全、產(chǎn)品研發(fā)、輿情監(jiān)控等領(lǐng)域可以做很多事情。如:在數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)、圖像處理等科學(xué)研究領(lǐng)域,如果沒(méi)有數(shù)據(jù),則可以通過(guò)爬蟲從網(wǎng)上抓取;在Web安全方面,使用爬蟲可以對(duì)網(wǎng)站是否存在某一漏洞進(jìn)行批量驗(yàn)證、利用;在產(chǎn)品研發(fā)方面,可以采集各個(gè)商城物品價(jià)格,為用戶提供市場(chǎng)最低價(jià);在輿情監(jiān)控方面,可以抓取、分析微博的數(shù)據(jù),從而識(shí)別出某用戶是否為水軍。

二、運(yùn)行流程

對(duì)于定向信息的爬取,爬蟲主要包括數(shù)據(jù)抓取、數(shù)據(jù)解析、數(shù)據(jù)入庫(kù)等操作流程。其中:(1)數(shù)據(jù)抓取:發(fā)送構(gòu)造的HTTP請(qǐng)求,獲得包含所需數(shù)據(jù)的HTTP響應(yīng);

(2)數(shù)據(jù)解析:對(duì)HTTP響應(yīng)的原始數(shù)據(jù)進(jìn)行分析、清洗以提取出需要的數(shù)據(jù);

(3)數(shù)據(jù)入庫(kù):將數(shù)據(jù)進(jìn)一步保存到數(shù)據(jù)庫(kù)(或文本文件),構(gòu)建知識(shí)庫(kù)。

三、相關(guān)技術(shù)

爬蟲的相關(guān)技術(shù)包括:

(1)數(shù)據(jù)抓取:了解HTTP請(qǐng)求和響應(yīng)中各字段的含義;了解相關(guān)的網(wǎng)絡(luò)分析工具,主要用于分析網(wǎng)絡(luò)流量,如:burpsuit等。一般情況,使用瀏覽器的開發(fā)者模式即可;

(2)數(shù)據(jù)解析:了解HTML結(jié)構(gòu)、JSON和XML數(shù)據(jù)格式,CSS選擇器、Xpath路徑表達(dá)式、正則表達(dá)式等,目的是從響應(yīng)中提取出所需的數(shù)據(jù);

(3)數(shù)據(jù)入庫(kù):MySQL,SQLite、Redis等數(shù)據(jù)庫(kù),便于數(shù)據(jù)的存儲(chǔ);

以上是學(xué)習(xí)爬蟲的基本要求,在實(shí)際的應(yīng)用中,也應(yīng)考慮如何使用多線程提高效率、如何做任務(wù)調(diào)度、如何應(yīng)對(duì)反爬蟲,如何實(shí)現(xiàn)分布式爬蟲等等。

四、python相關(guān)庫(kù)

在爬蟲實(shí)現(xiàn)上,除了scrapy框架之外,python有許多與此相關(guān)的庫(kù)可供使用。其中,在數(shù)據(jù)抓取方面包括:urllib2(urllib3)、requests、mechanize、selenium、splinter;在數(shù)據(jù)解析方包括:lxml、beautifulsoup4、re、pyquery。

對(duì)于數(shù)據(jù)抓取,涉及的過(guò)程主要是模擬瀏覽器向服務(wù)器發(fā)送構(gòu)造好的http請(qǐng)求,常見類型有:get/post。其中,urllib2(urllib3)、requests、mechanize用來(lái)獲取URL對(duì)應(yīng)的原始響應(yīng)內(nèi)容;而selenium、splinter通過(guò)加載瀏覽器驅(qū)動(dòng),獲取瀏覽器渲染之后的響應(yīng)內(nèi)容,模擬程度更高。

具體選擇哪種類庫(kù),應(yīng)根據(jù)實(shí)際需求決定,如考慮效率、對(duì)方的反爬蟲手段等。通常,能使用urllib2(urllib3)、requests、mechanize等解決的盡量不用selenium、splinter,因?yàn)楹笳咭蛐枰虞d瀏覽器而導(dǎo)致效率較低。

對(duì)于數(shù)據(jù)解析,主要是從響應(yīng)頁(yè)面里提取所需的數(shù)據(jù),常用方法有:xpath路徑表達(dá)式、CSS選擇器、正則表達(dá)式等。其中,xpath路徑表達(dá)式、CSS選擇器主要用于提取結(jié)構(gòu)化的數(shù)據(jù),而正則表達(dá)式主要用于提取非結(jié)構(gòu)化的數(shù)據(jù)。相應(yīng)的庫(kù)有l(wèi)xml、beautifulsoup4、re、pyquery。

五、反爬蟲

1. 基本的反爬蟲手段,主要是檢測(cè)請(qǐng)求頭中的字段,比如:User-Agent、referer等。針對(duì)這種情況,只要在請(qǐng)求中帶上對(duì)應(yīng)的字段即可。所構(gòu)造http請(qǐng)求的各個(gè)字段最好跟在瀏覽器中發(fā)送的完全一樣,但也不是必須。

2. 基于用戶行為的反爬蟲手段,主要是在后臺(tái)對(duì)訪問(wèn)的IP(或User-Agent)進(jìn)行統(tǒng)計(jì),當(dāng)超過(guò)某一設(shè)定的閾值,給予封鎖。針對(duì)這種情況,可通過(guò)使用代理服務(wù)器解決,每隔幾次請(qǐng)求,切換一下所用代理的IP地址(或通過(guò)使用User-Agent列表解決,每次從列表里隨機(jī)選擇一個(gè)使用)。這樣的反爬蟲方法可能會(huì)誤傷用戶。

3. 希望抓取的數(shù)據(jù)是如果通過(guò)ajax請(qǐng)求得到的,假如通過(guò)網(wǎng)絡(luò)分析能夠找到該ajax請(qǐng)求,也能分析出請(qǐng)求所需的具體參數(shù),則直接模擬相應(yīng)的http請(qǐng)求,即可從響應(yīng)中得到對(duì)應(yīng)的數(shù)據(jù)。這種情況,跟普通的請(qǐng)求沒(méi)有什么區(qū)別。

4. 基于JavaScript的反爬蟲手段,主要是在響應(yīng)數(shù)據(jù)頁(yè)面之前,先返回一段帶有JavaScript代碼的頁(yè)面,用于驗(yàn)證訪問(wèn)者有無(wú)JavaScript的執(zhí)行環(huán)境,以確定使用的是不是瀏覽器。

六、結(jié)論

網(wǎng)絡(luò)爬蟲不僅能夠?yàn)樗阉饕娌杉W(wǎng)絡(luò)信息,而且還可以作為定向信息采集器,定向采集某些網(wǎng)站下的特定信息。而隨著近幾年來(lái)的發(fā)展,python的受歡迎度也越來(lái)越高,而它的運(yùn)用的領(lǐng)域也是越來(lái)越多,比如人工智能和大數(shù)據(jù)等領(lǐng)域,python都是在其中扮演者重要的角色。

參考文獻(xiàn):

[1] 《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》. 江紅,余青松 主編. 清華大學(xué)出版社. 2018.

[2] 《Python成型設(shè)計(jì)案例教程——從入門到機(jī)器學(xué)習(xí)》. 張思民 編著. 清華大學(xué)出版社. 2018.

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

[4] 基于Python的專業(yè)網(wǎng)絡(luò)爬蟲的設(shè)計(jì)與實(shí)現(xiàn)[J].姜杉彪,黃凱林. 企業(yè)科技與發(fā)展. 2016,08.

[5] 基于Python的網(wǎng)絡(luò)爬蟲技術(shù)研究[J]. 王碧瑤. 數(shù)字技術(shù)與應(yīng)用. 2018.05.

[6] 網(wǎng)絡(luò)爬蟲技術(shù)研究[J]. 于成龍. 東莞理工學(xué)院學(xué)報(bào). 2011.06.

[7] 《網(wǎng)絡(luò)爬蟲-Python和數(shù)據(jù)分析》.王澎. 中國(guó)科技大學(xué). 2018.06 .

作者簡(jiǎn)介:

陳超,性別:男,出生年月:1981.07,籍貫:重慶,單位:攀枝花學(xué)院,職稱:講師,學(xué)歷:碩士,研究方向:數(shù)據(jù)分析和挖掘。

主站蜘蛛池模板: 色香蕉影院| 高清久久精品亚洲日韩Av| 天天综合网站| 国内精品九九久久久精品| 三区在线视频| 囯产av无码片毛片一级| 亚洲人成影院午夜网站| 国产va欧美va在线观看| 亚洲精品国产首次亮相| 精品日韩亚洲欧美高清a| 欧美日韩在线国产| 日韩黄色精品| 国产成人免费高清AⅤ| 国产午夜无码片在线观看网站| 91精品啪在线观看国产60岁| 日韩AV无码免费一二三区| 国产sm重味一区二区三区| 久久无码av一区二区三区| 激情亚洲天堂| 国产成人三级| 国产青青草视频| 亚洲天堂视频网站| 日韩视频免费| 国产视频久久久久| 亚洲va欧美ⅴa国产va影院| 色悠久久综合| 69国产精品视频免费| 99精品免费在线| 日本草草视频在线观看| 色婷婷在线播放| 国产美女一级毛片| 日韩欧美91| 亚洲国产成熟视频在线多多| 国产成人在线无码免费视频| 亚洲男人的天堂久久香蕉网| 黄色网页在线播放| 亚洲日本中文综合在线| 精品国产电影久久九九| 国产成人精品在线1区| 91精品国产自产在线老师啪l| 国产男人天堂| 91免费国产高清观看| 国产精品开放后亚洲| 欧美精品1区| 亚洲一级毛片在线观播放| 最新国产网站| 成人免费网站久久久| 午夜啪啪网| 国产在线专区| 在线看片免费人成视久网下载| 欧美成人国产| 色综合久久久久8天国| 久青草免费在线视频| 国产成人高清精品免费| 国产精品女同一区三区五区| 欧美成a人片在线观看| 国产美女人喷水在线观看| 国内精品久久人妻无码大片高| 国产青青草视频| 欧美高清三区| 国产一二三区视频| 欧美性猛交一区二区三区| 国产人成在线视频| 国产一级无码不卡视频| 香蕉精品在线| 精品国产美女福到在线不卡f| 国产亚洲欧美日韩在线观看一区二区| 国内精品一区二区在线观看| 91人人妻人人做人人爽男同 | 免费中文字幕在在线不卡 | 日韩在线第三页| 中文字幕av一区二区三区欲色| 人妻精品久久无码区| AV天堂资源福利在线观看| aⅴ免费在线观看| 亚洲色精品国产一区二区三区| 91精品综合| 久久黄色毛片| 亚洲欧美色中文字幕| 亚洲日韩欧美在线观看| 国产精品亚洲一区二区三区在线观看 | 色网在线视频|