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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一看就明白的爬虫入门讲解-基础理论篇(下篇)

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一看就明白的爬虫入门讲解-基础理论篇(下篇) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文/孔淼


上篇我分享了爬蟲入門中的"我們的目的是什么"、"內容從何而來"、"了解網絡請求"這三部分的內容,這一篇我繼續分享以下內容:

1) 一些常見的限制方式

2) 嘗試解決問題的思路

3) 效率問題的取舍

?

一、一些常見的限制方式


?

上述都是講的都是一些的基礎的知識,現在我就列一些比較常見的限制方式,如何突破這些限制這些抓取數據:

  • Basic Auth?

一般會有用戶授權的限制,會在headers的Autheration字段里要求加入;

  • Referer

通常是在訪問鏈接時,必須要帶上Referer字段,服務器會進行驗證,例如抓取京東的評論;

  • User-Agent

  會要求真是的設備,如果不加會用編程語言包里自有User-Agent,可以被辨別出來;

  • Cookie

一般在用戶登錄或者某些操作后,服務端會在返回包中包含Cookie信息要求瀏覽器設置Cookie,沒有Cookie會很容易被辨別出來是偽造請求;

也有本地通過JS,根據服務端返回的某個信息進行處理生成的加密信息,設置在Cookie里面;

  • Gzip

請求headers里面帶了gzip,返回有時候會是gzip壓縮,需要解壓;

  • Javascript加密操作

一般都是在請求的數據包內容里面會包含一些被javascript進行加密限制的信息,例如新浪微博會進行SHA1和RSA加密,之前是兩次SHA1加密,然后發送的密碼和用戶名都會被加密;

  • 其他字段

因為http的headers可以自定義地段,所以第三方可能會加入了一些自定義的字段名稱或者字段值,這也是需要注意的。

?

真實的請求過程中,其實不止上面某一種限制,可能是幾種限制組合在一次,比如如果是類似RSA加密的話,可能先請求服務器得到Cookie,然后再帶著Cookie去請求服務器拿到公鑰,然后再用js進行加密,再發送數據到服務器。所以弄清楚這其中的原理,并且耐心分析很重要。

?

二、嘗試解決問題的思路


?

首先大的地方,加入我們想抓取某個數據源,我們要知道大概有哪些路徑可以獲取到數據源,基本上無外乎三種:

?

1)? PC端網站;

2)? 針對移動設備響應式設計的網站(也就是很多人說的H5, 雖然不一定是H5);

3)? 移動App;

?

原則是能抓移動App的,最好抓移動App,如果有針對移動設備優化的網站,就抓針對移動設備優化的網站,最后考慮PC網站。因為移動App基本都是API很簡單,而移動設備訪問優化的網站一般來講都是結構簡單清晰的HTML,而PC網站自然是最復雜的了;

?

針對PC端網站和移動網站的做法一樣,分析思路可以一起講,移動App單獨分析。

?

1.網站類型的分析

?

首先是網站類的,使用的工具就是Chrome,建議用Chrome的隱身模式,分析時不用頻繁清楚cookie,直接關閉窗口就可以了。

具體操作步驟如下:

  • 輸入網址后,先不要回車確認,右鍵選擇審查元素,然后點擊網絡,記得要勾上preserve log選項,因為如果出現上面提到過的重定向跳轉,之前的請求全部都會被清掉,影響分析,尤其是重定向時還加上了Cookie;

?

  • 接下來觀察網絡請求列表,資源文件,例如css,圖片基本都可以忽略,第一個請求肯定就是該鏈接的內容本身,所以查看源碼,確認頁面上需要抓取的內容是不是在HTML標簽里面,很簡單的方法,找到自己要找的內容,看到父節點,然后再看源代碼里面該父節點里面有沒有內容,如果沒有,那么一定是異步請求,如果是非異步請求,直接抓該鏈接就可以了。

?

分析異步請求,按照網絡列表,略過資源文件,然后點擊各個請求,觀察是否在返回時包含想要的內容,有幾個方法:

?

  • 內容比較有特點,例如人的屬性信息,物品的價格,或者微博列表等內容,直接觀察可以判斷是不是該異步請求;
  • 知道異步加載的內容節點或者父節點的class或者id的名稱,找到js代碼,閱讀代碼得到異步請求;
  • ?確認異步請求之后,就是要分析異步請求了,簡單的,直接請求異步請求,能得到數據,但是有時候異步請求會有限制,所以現在分析限制從何而來。

?

針對分析對請求的限制,思路是逆序方法:

?

  • 先找到最后一個得到內容的請求,然后觀察headers,先看post數據或者url的某個參數是不是都是已知數據,或者有意義數據,如果發現不確定的先帶上,只是更改某個關鍵字段,例如page,count看結果是不是會正常,如果不正常,比如多了個token,或者某個字段明顯被加密,例如用戶名密碼,那么接下來就要看JS的代碼,看到底是哪個函數進行了加密,一般會是原生js代碼加密,那么看到代碼,直接加密就行,如果是類似RSA加密,那么就要看公鑰是從何而來,如果是請求得到的,那么就要往上分析請求,另外如果是發現請求headers里面有陌生字段,或者有Cookie也要往上看請求,Cookie在哪一步設置的;
  • 接下來找到剛剛那個請求未知來源的信息,例如Cookie或者某個加密需要的公鑰等等,看看上面某個請求是不是已經包含,依次類推。

?

2.App的分析

?

然后是App類的,使用的工具是Charles,手機和電腦在一個局域網內,先用Charles配置好端口,然后手機設置代理,ip為電腦的ip,端口為設置的端口,然后如果手機上請求網絡內容時,Charles會顯示相應地請求,那么就ok了,分析的大體邏輯基本一致,限制會相對少很多,但是也有幾種情況需要注意:

  • 加密,App有時候也有一些加密的字段,這個時候,一般來講都會進行反編譯進行分析,找到對應的代碼片段,逆推出加密方法;
  • gzip壓縮或者base64編碼,base64編碼的辨別度較高,有時候數據被gzip壓縮了,不過Charles都是有自動解密的;
  • https證書,有的https請求會驗證證書,Charles提供了證書,可以在官網找到,手機訪問,然后信任添加就可以。

三、效率問題的取舍


?

一般來講在抓取大量數據,例如全網抓取京東的評論,微博所有人的信息,微博信息,關注關系等等,這種上十億到百億次設置千億次的請求必須考慮效率,否者一天只有86400秒,那么一秒鐘要抓100次,一天也才864w次請求,也需要100多天才能到達十億級別的請求量。

?

涉及到大規模的抓取,一定要有良好的爬蟲設計,一般很多開源的爬蟲框架也都是有限制的,因為中間涉及到很多其他的問題,例如數據結構,重復抓取過濾的問題,當然最重要的是要把帶寬利用滿,所以分布式抓取很重要,接下來我會有一篇專門講分布式的爬蟲設計,分布式最重要的就是中間消息通信,如果想要抓的越多越快,那么對中間的消息系統的吞吐量要求也越高。

?

但是對于一些不太大規模的抓取就沒要用分布式的一套,比較消耗時間,基本只要保證單機器的帶寬能夠利用滿就沒問題,所以做好并發就可以,另外對于數據結構也要有一定的控制,很多人寫程序,內存越寫越大,抓取越來越慢,可能存在的原因就包括,一個是用了內存存一些數據沒有進行釋放,第二個可能有一些hashset的判斷,最后判斷的效率越來越低,比如用bloomfilter替換就會優化很多。

?


本文由諸葛io CEO 孔淼原創發布于PMCAFF產品經理社區,轉載請注明出處,歡迎關注諸葛io公眾號(zhugeio),更多精彩,盡在其中。


一看就明白的爬蟲入門講解-基礎理論篇(上篇)

????????

?

總結

以上是生活随笔為你收集整理的一看就明白的爬虫入门讲解-基础理论篇(下篇)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 四虎久久| 怡红院一区二区 | 日韩在线精品视频一区二区涩爱 | 欧美成人免费观看视频 | 色一区二区三区 | 国产欧美日韩精品一区二区三区 | 日韩一级免费毛片 | 亚洲天堂精品在线观看 | 少妇精品亚洲一区二区成人 | 精品一区二区三区三区 | 色噜噜成人| 夜夜操夜夜爱 | 国产91白丝在一线播放 | 国产精品久久在线 | 丁香婷婷综合激情五月色 | 成人精品国产免费网站 | 久久福利国产 | 大肉大捧一进一出好爽mba | 91热久久 | 美女看片 | www婷婷av久久久影片 | 亚洲国产成人精品久久久 | а√天堂资源官网在线资源 | www.av视频在线观看 | 日韩人妻无码一区二区三区99 | 久久免费看 | 免费成人美女在线观看 | 在线观看网站黄 | 欧美午夜在线观看 | 日韩黄色片免费看 | 全黄一级男人和女人 | 欧亚成人av | 草莓巧克力香氛动漫的观看方法 | 国产成年无码久久久久毛片 | 国产激情一区二区三区视频免樱桃 | 欧美日韩中文字幕在线观看 | 夜夜欢视频 | 一本色道久久综合亚洲 | 中文字幕伊人 | 69天堂| 国产91福利| 最新最近中文字幕 | 天天黄色片 | 小珊的性放荡羞辱日记 | 国产色秀视频 | 欧美在线观看视频 | 国产又粗又猛视频免费 | 激情二区| 91精品国产日韩91久久久久久 | 91操人视频| 亚洲av无码一区二区三区在线 | 色哟哟中文字幕 | 俺也去婷婷 | 亚洲色图综合 | 国产在线视频福利 | 黄色茄子视频 | 伊人狼人综合 | 偷拍网亚洲 | 国产精品久久久久国产a级 国产一区二区在线播放 | 手机在线免费av | 亚欧成人在线 | 欧美性视频在线播放 | www狠狠操 | 欧美国产日韩在线观看成人 | 国产日韩欧美 | 99久久久无码国产精品性色戒 | 日韩在线第三页 | 久久久久亚洲av片无码下载蜜桃 | 欧美性猛交 | 四虎在线视频免费观看 | 国产67194 | 日韩精品在线观看中文字幕 | 91夜色 | 日韩精品一区二区三区网站 | 能在线观看的av网站 | 日本韩国三级 | a√天堂在线| 国产精品国产一区二区三区四区 | 男女午夜免费视频 | 黄视频网站在线观看 | 国产精品36p | 香港日本韩国三级网站 | 亚洲免费视频一区二区 | 免费国产一区二区 | 韩国伦理片免费看 | 一级片自拍 | 国产福利网 | 秋霞福利 | 99re在线视频观看 | 国产福利在线观看视频 | 亚洲精品成人影视 | 中文字幕不卡一区 | 亚洲午夜久久久久久久久红桃 | 日日噜噜噜| 国产成人精品无码免费看在线 | 国产精品无遮挡 | 国产精品xxx在线 | 日本视频网 | 哪里可以看免费毛片 |