日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python网络爬虫(web spider)系统化整理总结(一):入门

發布時間:2023/12/18 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python网络爬虫(web spider)系统化整理总结(一):入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接觸爬蟲很久了,一直沒有個系統的理解和整理,近來假日無事,總結一下。

-------------------------------------------以下是目錄---------------------------------------------------------

一、爬蟲概述及分類

二、爬蟲的應用場景

三、爬蟲的一般執行過程

四、爬蟲技術常用的知識

五、反爬蟲

-------------------------------------------以下是正文---------------------------------------------------------

一、爬蟲概述及分類

??????? 網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。

?????? 目前爬蟲種類和一些基本信息如下:

?????

二、爬蟲的應用場景

三、爬蟲的一般執行過程

執行過程:

?????????

各部分運行關系流程圖:

四、爬蟲技術常用的知識

?????? 1、數據抓取:

???????????????? 1.1,涉及的過程主要是模擬瀏覽器向服務器發送構造好的http請求,一般是get或者post類型;

???????????????? 1.2,爬蟲的實現,除了scrapy框架之外,python有很多可供調用的庫:

???????????????????????? urllib、requests、mechanize:用于獲取URL對應的原始響應內容;

???????????????????????? selenium、splinter通過加載瀏覽器驅動,獲取渲染之后的響應內容,模擬程度高,但是效率低;

???????????????? 1.3,http協議、身份認證機制(Cookie);

???????????????? 1.4,網絡流量分析:Chrome、Firfox+Firebug、Fiddler、Burp Suite 。

?????? 2、數據解析:

????????????????? 2.1,HTM結構、json數據格式、XML數據格式;

????????????????? 2.2,庫:lxml、beautiful-soup4、re、pyquery

????????????????? 2.3,從頁面提取所需數據的方法:

?????????????????????????? xpath路徑表達式CSS選擇器(主要用于提取結構化數據)

?????????????????????????? 正則表達式(主要用于提取非結構化數據)。

?????? 3、數據庫:

????????????????? 3.1,結構化數據庫:MySQL、SQLite等;

????????????????? 3.2,非結構化數據庫:Redis等。

?????? 4、其他:

????????????????? 4.1,多線程、任務調度、消息隊列、分布式爬蟲、圖像識別、反爬蟲技術等等。。。。。。

五、反爬蟲

?????????? 1. 基本的反爬蟲手段,主要是檢測請求頭中的字段,比如:User-Agent、 referer等。 針對這種情

況,只要在請求中帶上對應的字段即可。 所構造http請求的各個字段最好跟在瀏覽器中發送的完全一

樣,但也不是必須。

?????????? 2. 基于用戶行為的反爬蟲手段,主要是在后臺對訪問的IP(或User-Agent)進行統計,當超過某一

設定的閾值,給予封鎖。 針對這種情況,可通過使用代理服務器解決,每隔幾次請求,切換一下所用

代理的IP地址(或通過使用User-Agent列表解決,每次從列表里隨機選擇一個使用)。 這樣的反爬

蟲方法可能會誤傷用戶。

?????????? 3. 希望抓取的數據是如果通過ajax請求得到的,假如通過網絡分析能夠找到該ajax請求,也能分析出

請求所需的具體參數,則直接模擬相應的http請求,即可從響應中得到對應的數據。 這種情況,跟普

通的請求沒有什么區別。

?????????? 4. 基于Java的反爬蟲手段,主要是在響應數據頁面之前,先返回一段帶有Java代碼的頁面,用于驗

證訪問者有無Java的執行環境,以確定使用的是不是瀏覽器。
?

?

?

總結

以上是生活随笔為你收集整理的python网络爬虫(web spider)系统化整理总结(一):入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。