久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

一看就明白的爬蟲入門講解:基礎(chǔ)理論篇(下篇

2020-09-25    分類: 網(wǎng)站建設(shè)

文/諸葛io CEO 孔淼

在《一看就明白的爬蟲入門講解:基礎(chǔ)理論篇(上篇)》分享了爬蟲入門中的"我們的目的是什么"、"內(nèi)容從何而來"、"了解網(wǎng)絡(luò)請(qǐng)求"這三部分的內(nèi)容,這一篇我繼續(xù)分享以下內(nèi)容:

  • 一些常見的限制方式
  • 嘗試解決問題的思路
  • 效率問題的取舍

一、一些常見的限制方式

上述都是講的都是一些的基礎(chǔ)的知識(shí),現(xiàn)在我就列一些比較常見的限制方式,如何突破這些限制這些抓取數(shù)據(jù):

Basic Auth

一般會(huì)有用戶授權(quán)的限制,會(huì)在headers的Autheration字段里要求加入;

Referer

通常是在訪問鏈接時(shí),必須要帶上Referer字段,服務(wù)器會(huì)進(jìn)行驗(yàn)證,例如抓取京東的評(píng)論;

User-Agent

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

Cookie

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

也有本地通過JS,根據(jù)服務(wù)端返回的某個(gè)信息進(jìn)行處理生成的加密信息,設(shè)置在Cookie里面;

Gzip

請(qǐng)求headers里面帶了gzip,返回有時(shí)候會(huì)是gzip壓縮,需要解壓;

Java加密操作

一般都是在請(qǐng)求的數(shù)據(jù)包內(nèi)容里面會(huì)包含一些被java進(jìn)行加密限制的信息,例如新浪微博會(huì)進(jìn)行SHA1和RSA加密,之前是兩次SHA1加密,然后發(fā)送的密碼和用戶名都會(huì)被加密;

其他字段

因?yàn)閔ttp的headers可以自定義地段,所以第三方可能會(huì)加入了一些自定義的字段名稱或者字段值,這也是需要注意的。

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

二、嘗試解決問題的思路

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

PC端網(wǎng)站;

針對(duì)移動(dòng)設(shè)備響應(yīng)式設(shè)計(jì)的網(wǎng)站(也就是很多人說的H5, 雖然不一定是H5);

移動(dòng)App;

原則是能抓移動(dòng)App的,最好抓移動(dòng)App,如果有針對(duì)移動(dòng)設(shè)備優(yōu)化的網(wǎng)站,就抓針對(duì)移動(dòng)設(shè)備優(yōu)化的網(wǎng)站,最后考慮PC網(wǎng)站。

因?yàn)橐苿?dòng)App基本都是API很簡單,而移動(dòng)設(shè)備訪問優(yōu)化的網(wǎng)站一般來講都是結(jié)構(gòu)簡單清晰的HTML,而PC網(wǎng)站自然是最復(fù)雜的了;

針對(duì)PC端網(wǎng)站和移動(dòng)網(wǎng)站的做法一樣,分析思路可以一起講,移動(dòng)App單獨(dú)分析。

1.網(wǎng)站類型的分析首先是網(wǎng)站類的,使用的工具就是Chrome,建議用Chrome的隱身模式,分析時(shí)不用頻繁清楚cookie,直接關(guān)閉窗口就可以了。

具體操作步驟如下:

輸入網(wǎng)址后,先不要回車確認(rèn),右鍵選擇審查元素,然后點(diǎn)擊網(wǎng)絡(luò),記得要勾上preserve log選項(xiàng),因?yàn)槿绻霈F(xiàn)上面提到過的重定向跳轉(zhuǎn),之前的請(qǐng)求全部都會(huì)被清掉,影響分析,尤其是重定向時(shí)還加上了Cookie;

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

分析異步請(qǐng)求,按照網(wǎng)絡(luò)列表,略過資源文件,然后點(diǎn)擊各個(gè)請(qǐng)求,觀察是否在返回時(shí)包含想要的內(nèi)容,有幾個(gè)方法:

內(nèi)容比較有特點(diǎn),例如人的屬性信息,物品的價(jià)格,或者微博列表等內(nèi)容,直接觀察可以判斷是不是該異步請(qǐng)求;

知道異步加載的內(nèi)容節(jié)點(diǎn)或者父節(jié)點(diǎn)的class或者id的名稱,找到j(luò)s代碼,閱讀代碼得到異步請(qǐng)求;

確認(rèn)異步請(qǐng)求之后,就是要分析異步請(qǐng)求了,簡單的,直接請(qǐng)求異步請(qǐng)求,能得到數(shù)據(jù),但是有時(shí)候異步請(qǐng)求會(huì)有限制,所以現(xiàn)在分析限制從何而來。

針對(duì)分析對(duì)請(qǐng)求的限制,思路是逆序方法:

先 找到最后一個(gè)得到內(nèi)容的請(qǐng)求,然后觀察headers,先看post數(shù)據(jù)或者url的某個(gè)參數(shù)是不是都是已知數(shù)據(jù),或者有意義數(shù)據(jù),如果發(fā)現(xiàn)不確定的先帶 上,只是更改某個(gè)關(guān)鍵字段,例如page,count看結(jié)果是不是會(huì)正常,如果不正常,比如多了個(gè)token,或者某個(gè)字段明顯被加密,例如用戶名密碼, 那么接下來就要看JS的代碼,看到底是哪個(gè)函數(shù)進(jìn)行了加密,一般會(huì)是原生js代碼加密,那么看到代碼,直接加密就行,如果是類似RSA加密,那么就要看公 鑰是從何而來,如果是請(qǐng)求得到的,那么就要往上分析請(qǐng)求,另外如果是發(fā)現(xiàn)請(qǐng)求headers里面有陌生字段,或者有Cookie也要往上看請(qǐng) 求,Cookie在哪一步設(shè)置的;

接下來找到剛剛那個(gè)請(qǐng)求未知來源的信息,例如Cookie或者某個(gè)加密需要的公鑰等等,看看上面某個(gè)請(qǐng)求是不是已經(jīng)包含,依次類推。

2.App的分析

然后是App類的,使用的工具是Charles,手機(jī)和電腦在一個(gè)局域網(wǎng)內(nèi),先用Charles配置好端口,然后手機(jī)設(shè)置代理,ip為電腦的ip,端口為設(shè)置的端口,然后如果手機(jī)上請(qǐng)求網(wǎng)絡(luò)內(nèi)容時(shí),Charles會(huì)顯示相應(yīng)地請(qǐng)求,那么就ok了,分析的大體邏輯基本一致,限制會(huì)相對(duì)少很多,但是也有幾種情況需要注意:

加密,App有時(shí)候也有一些加密的字段,這個(gè)時(shí)候,一般來講都會(huì)進(jìn)行反編譯進(jìn)行分析,找到對(duì)應(yīng)的代碼片段,逆推出加密方法;

gzip壓縮或者編碼,編碼的辨別度較高,有時(shí)候數(shù)據(jù)被gzip壓縮了,不過Charles都是有自動(dòng)解密的;

https證書,有的https請(qǐng)求會(huì)驗(yàn)證證書,Charles提供了證書,可以在官網(wǎng)找到,手機(jī)訪問,然后信任添加就可以。

三、效率問題的取舍

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

涉及到大規(guī)模的抓取,一定要有良好的爬蟲設(shè)計(jì),一般很多開源的爬蟲框架也都是有限制的,因?yàn)橹虚g涉及到很多其他的問題,例如數(shù)據(jù)結(jié)構(gòu),重復(fù)抓取過濾的問題, 當(dāng)然最重要的是要把帶寬利用滿,所以分布式抓取很重要,接下來我會(huì)有一篇專門講分布式的爬蟲設(shè)計(jì),分布式最重要的就是中間消息通信,如果想要抓的越多越 快,那么對(duì)中間的消息系統(tǒng)的吞吐量要求也越高。

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

新聞名稱:一看就明白的爬蟲入門講解:基礎(chǔ)理論篇(下篇
文章起源:http://www.js-pz168.com/news14/86714.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)網(wǎng)頁設(shè)計(jì)公司定制開發(fā)品牌網(wǎng)站制作響應(yīng)式網(wǎng)站ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
在线观看日本一区| 久久久精品综合| 国产精品丝袜黑色高跟| 亚洲国产美国国产综合一区二区| 久久国产精品99久久人人澡| 18成人在线| 最近看过的日韩成人| 精品精品欲导航| 亚洲第一会所有码转帖| 国产成a人亚洲| 欧美污视频久久久| 欧美一区二区性放荡片| 亚洲色图视频免费播放| 国产一区二区福利| 久久66热这里只有精品| 欧美日韩国产高清一区二区三区| 中文av一区二区| 精品在线播放免费| 精品999在线观看| 欧美日韩国产美| 亚洲精品久久久蜜桃| 国产黑丝在线一区二区三区| 久久久久久久久一区二区| 欧美高清视频www夜色资源网| 中文字幕一区二区三区视频| 国产原创一区二区三区| 麻豆亚洲一区| 欧美本精品男人aⅴ天堂| 亚洲韩国精品一区| 99精品国产视频| 91久久久免费一区二区| 国产精品久久久久一区二区三区共| 久久精品国产久精国产| 久久偷看各类wc女厕嘘嘘偷窃| 欧美精品v日韩精品v韩国精品v| 亚洲欧美另类小说| 成人视屏免费看| 中文字幕欧美日韩一区二区三区| 国产婷婷色一区二区三区在线| 久久国内精品自在自线400部| 久久精品一区二区三区不卡免费视频| 91麻豆精品国产自产在线| 亚洲一区二区在线观看视频 | 99re6在线| 欧美日韩亚洲综合在线| 亚洲精品国久久99热| 成人av午夜影院| 欧美性色黄大片| 一区二区三区影院| 91麻豆精品一区二区三区| 欧美日韩一二三区| 亚洲成人av在线电影| 国产精品三区四区| 日韩三级中文字幕| 日本欧美大码aⅴ在线播放| 精品欧美一区二区在线观看视频| 日韩一区二区三区观看| 青青国产91久久久久久| 免费在线观看一区二区| 久久精品一级爱片| 国产激情视频一区二区在线观看 | 日韩精品一区二区三区色偷偷 | 欧美日韩国产一级片| 亚洲第四色夜色| 黑人另类av| 久久久久久久久97黄色工厂| 国产一区二区视频在线| 亚洲一区二区三区四区中文| 日韩一区中文字幕| 99国产视频| 欧美成人一区二区三区片免费 | 日韩一区二区影院| 精品一区二区综合| 中文字幕av日韩精品| 一区二区三区在线视频观看| 国产精品久久久久久久久久直播 | 日本道免费精品一区二区三区| 一级精品视频在线观看宜春院 | 亚洲国产经典视频| 99久久99久久精品免费看蜜桃| 欧美日韩精品一区二区三区| 日韩av一区二区三区| 无遮挡亚洲一区| 一区二区三区在线播| 久久国产欧美精品| 国产精品久久久久久久久免费丝袜| 成人激情视频网站| 欧美一级在线观看| 国产一区二区三区高清播放| 欧美综合亚洲图片综合区| 舔着乳尖日韩一区| 午夜一区二区三视频在线观看| 中文字幕在线一区| 国产一区二区不卡视频| 欧美国产精品v| 97视频热人人精品| 国产三级一区二区| 91视频在线免费观看| 2017欧美狠狠色| 99久久亚洲一区二区三区青草| 日韩欧美一区二区不卡| 成人午夜在线免费| 日韩欧美在线123| 国产99久久久国产精品潘金 | 伊人久久大香线蕉精品| 一区二区三区高清在线| 日本欧洲国产一区二区| 亚洲一二三区视频在线观看| 亚洲va久久久噜噜噜久久狠狠| 一卡二卡三卡日韩欧美| 亚洲精品高清国产一线久久| 亚洲成人av一区二区| 亚洲一区二区三区四区中文| 日韩精彩视频在线观看| 91国产精品成人| 精品一区二区影视| 欧美日本不卡视频| 国产69精品久久久久毛片| 日韩欧美精品在线| 91视频免费播放| 中文字幕va一区二区三区| 国产一区在线免费观看| 亚洲裸体xxx| 亚洲精品一卡二卡三卡四卡| 日韩不卡在线观看日韩不卡视频| 91黄视频在线观看| 国产麻豆9l精品三级站| 日韩免费视频线观看| 91丨porny丨首页| 国产精品久久久久影院老司| 日本视频一区在线观看| 日韩精品电影在线观看| 欧美日韩精品久久久| 国产精品77777| 久久综合九色综合97婷婷女人| 国产成人免费观看| 一区二区三区.www| 日本伦理一区二区| 国产高清不卡一区二区| 久久嫩草精品久久久精品一| 国产一区二区三区黄| 亚洲一区二区高清| 欧美性生交片4| 成人免费观看男女羞羞视频| 国产精品视频线看| 色女人综合av| 国内不卡的二区三区中文字幕 | 成人av网在线| 中文字幕一区二区三区精华液 | 日韩视频一区在线观看| 懂色中文一区二区三区在线视频| 亚洲精品乱码久久久久久黑人| 色婷婷精品大在线视频| 岛国精品在线观看| 欧美国产精品一区二区| 亚洲精品视频一二三| 国产一区999| 欧美国产成人精品| 午夜一区二区三视频在线观看| 国产主播一区二区三区| 国产日韩欧美激情| 性高潮久久久久久久久| 国产麻豆午夜三级精品| 亚洲国产精品成人综合| 正在播放亚洲| 成人精品在线视频观看| 亚洲欧美国产高清| 欧美性大战xxxxx久久久| 97久久久精品综合88久久| 亚洲最大成人综合| 欧美人伦禁忌dvd放荡欲情| 91久久精品www人人做人人爽| 亚洲一区二区三区在线看| 制服丝袜成人动漫| 精品国产乱码一区二区三区四区| 日本欧美一区二区三区乱码| 久久在线免费观看| 亚洲电影一二三区| 丰满岳乱妇一区二区三区| 亚洲美女一区二区三区| 欧美老女人在线| 精品亚洲第一| 韩国av一区二区三区在线观看| 国产精品免费久久| 欧美艳星brazzers| 成人欧美一区二区三区在线观看| 天堂精品中文字幕在线| 久久美女艺术照精彩视频福利播放| 婷婷久久青草热一区二区 | 久久久7777| 国产一区二区在线影院| √…a在线天堂一区| 欧美日韩国产区一| 欧美成ee人免费视频| 国产精品一区二区三区四区| 亚洲精品久久久蜜桃| 欧美xxxx在线观看| 亚洲人成网站在线播放2019| 91一区一区三区| 日本欧洲一区二区|