亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Python 從零開始爬蟲(六)——?jiǎng)討B(tài)爬取解決方案 之 手動(dòng)分析

rozbo / 897人閱讀

摘要:之前提到動(dòng)態(tài)加載就兩個(gè)解決方案手動(dòng)分析和。背后有許多不為人知的交易進(jìn)行著,動(dòng)態(tài)爬取的任務(wù)就是攔截它們揭開它們的真面目。在爬蟲界有著霸王硬上弓的稱號(hào),管它情不情愿,來了動(dòng)態(tài)加載也只有屈服的份了。

之前提到動(dòng)態(tài)加載就兩個(gè)解決方案——手動(dòng)分析和selenium。接下來的文章我們會(huì)來深入探討它們,本文將首先,重點(diǎn)介紹前者——手動(dòng)分析

手動(dòng)分析是一個(gè)比較有難度,比較麻煩的解決方案,但優(yōu)點(diǎn)也很明顯:速度快,又能培養(yǎng)我們爬蟲的分析能力(重要)。如果鏈接有規(guī)律可循,建議能手動(dòng)分析就手動(dòng)分析,不能再上selenium(培養(yǎng)能力挺重要的不是麼?而且快的爬蟲誰不想要呢?)

動(dòng)態(tài)的標(biāo)志

相信大家都有過這樣的經(jīng)歷——進(jìn)入一個(gè)網(wǎng)頁,鼠標(biāo)到處點(diǎn),滑輪上下滾,各種框框各種信息都蹦出來了,但是網(wǎng)頁鏈接沒變過,網(wǎng)頁也沒重新刷新過

比如:逛網(wǎng)頁版的網(wǎng)易云音樂的評(píng)論時(shí),無論評(píng)論翻到第幾頁,網(wǎng)址也不會(huì)改變;逛知乎時(shí),鼠標(biāo)不停往下滾,只要下面還有回答,就會(huì)不斷的加載出來,同樣網(wǎng)址也不會(huì)改變;segmentfault的問答區(qū)也是

類似這樣能不轉(zhuǎn)跳不刷新就能加載新信息的網(wǎng)頁,就是用了動(dòng)態(tài)加載。背后有許多不為人知的“交易”進(jìn)行著,動(dòng)態(tài)爬取的任務(wù)就是“攔截”它們11揭開它們的真面目。詳細(xì)請(qǐng)往下面看

分析什么

首先記住——所有信息在理論上都可以通過請(qǐng)求(鏈接)獲得
然后記住——有些請(qǐng)求需要提交參數(shù),檢查headers什么的來防爬
附加一點(diǎn)——大多數(shù)動(dòng)態(tài)加載的信息,通常都是json數(shù)據(jù)

有了這些指引提示我們就能描繪出大概的分析思路

首先我們要找到j(luò)son數(shù)據(jù)請(qǐng)求鏈接,通過F12捉包獲得,這種包屬于xhr或js里

然后我們通過分析多個(gè)json數(shù)據(jù)的請(qǐng)求鏈接的參數(shù),規(guī)律,推出所有鏈接的結(jié)構(gòu)

如果json數(shù)據(jù)是一個(gè)post包,我們還要分析要post的參數(shù)的內(nèi)容,規(guī)律(加密的另談)

分析服務(wù)器是否檢查請(qǐng)求的headers,如是,需要哪些額外headers(指user-agent外)

完成以上四步通常就能獲得目標(biāo)json數(shù)據(jù),剩下的就是分析json數(shù)據(jù)本身,把目標(biāo)提取出來,方法上一篇文章講過。

引導(dǎo)實(shí)例

繼續(xù)以某寶為例吧,隨便搜一個(gè)商品進(jìn)去,或者點(diǎn)我這個(gè)示例商品鏈接。打開F12,換到Network捉j(luò)s的包,點(diǎn)到評(píng)論那里,很快就彈出很多個(gè)包,逐個(gè)查看其response,很快就確定了目標(biāo)包,然后評(píng)論換頁,捉多幾個(gè)供鏈接分析用。

這是一個(gè)包的請(qǐng)求鏈接

通過對(duì)比剛才捉到的多個(gè)包的鏈接,和多次試驗(yàn)性發(fā)送請(qǐng)求,我們可以分析出鏈接結(jié)構(gòu)——ua(包括ua)之后參數(shù)是不影響請(qǐng)求結(jié)果的,currentPageNum是評(píng)論頁數(shù),auctionNumId是商品id,userNumId可以不要,這樣就足以構(gòu)造所有json數(shù)據(jù)的請(qǐng)求鏈接,至于一些決定排序的參數(shù)這里就不再多分析,交給讀者。

多次試驗(yàn)后發(fā)現(xiàn)這個(gè)請(qǐng)求鏈接不需要提交數(shù)據(jù),headers加個(gè)user-agent就可以返回?cái)?shù)據(jù)
但是taobao返回的json數(shù)據(jù)有坑,注意一下

然后提取json數(shù)據(jù),這樣動(dòng)態(tài)問題就解決了,可以完整的寫出爬蟲。jd評(píng)價(jià)的爬取和淘寶類似,詳見github。

知難而退,變法再上

但鏈接亂到毫無規(guī)律可言,或者post參數(shù)加密到連媽都認(rèn)不出來(而你也懶得或沒能力去分析其加密方法),再或者你上面四步走完折騰了一整天也的得不到信息時(shí),是時(shí)候該放手了,機(jī)器是死的,人是活的,沒必要和服務(wù)器玩持久戰(zhàn),加密防爬什么都不是我們寫的,破解不出來也是沒辦法的嘛

既然手動(dòng)分析不行那只能請(qǐng)selenium大佬上場了,這貨能模擬瀏覽器,能解決大部分動(dòng)態(tài)網(wǎng)站。在爬蟲界有著“霸王硬上弓”的稱號(hào),管它情不情愿,dalao來了動(dòng)態(tài)加載也只有屈服的份了。這個(gè)dalao之后會(huì)介紹

下一篇將是一個(gè)完整的動(dòng)態(tài)爬取實(shí)例,順便接觸一下帶post參數(shù)的請(qǐng)求。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/41709.html

相關(guān)文章

  • Python 從零開始爬蟲(八)——動(dòng)態(tài)爬取解決方案 selenium

    摘要:然而讓蟲師們垂涎的并不是以上的種種,而是其通過驅(qū)動(dòng)瀏覽器獲得的解析的能力。所以說這貨在動(dòng)態(tài)爬取方面簡直是掛逼級(jí)別的存在,相較于手動(dòng)分析更簡單易用,節(jié)省分析打碼時(shí)間。一旦設(shè)置了隱式等待時(shí)間,它的作用范圍就是對(duì)象實(shí)例的整個(gè)生命周期。 selenium——自動(dòng)化測試工具,專門為Web應(yīng)用程序編寫的一個(gè)驗(yàn)收測試工具,測試其兼容性,功能什么的。然而讓蟲師們垂涎的并不是以上的種種,而是其通過驅(qū)動(dòng)瀏...

    fobnn 評(píng)論0 收藏0
  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • Python 從零開始爬蟲(七)——實(shí)戰(zhàn):網(wǎng)易云音樂評(píng)論爬取(附加密算法)

    摘要:通常這種加密都是通過加密的,所以首先要找到這個(gè)有加密算法的。追蹤函數(shù),發(fā)現(xiàn)它指向一個(gè)叫的函數(shù),仔細(xì)研究許久后大概知道加密算法經(jīng)兩次加密獲得,模式為,偏移量為。 前言 某寶評(píng)論區(qū)已經(jīng)成功爬取了,jd的也是差不多的方法,說實(shí)話也沒什么好玩的,我是看上它們分析簡單,又沒加密才拿來試手的。如果真的要看些有趣的評(píng)論的話,我會(huì)選擇網(wǎng)易云音樂,里面匯聚了哲學(xué)家,小說家,story-teller,皮皮...

    plus2047 評(píng)論0 收藏0
  • 從0-1打造最強(qiáng)性能Scrapy爬蟲集群

    摘要:包括爬蟲編寫爬蟲避禁動(dòng)態(tài)網(wǎng)頁數(shù)據(jù)抓取部署分布式爬蟲系統(tǒng)監(jiān)測共六個(gè)內(nèi)容,結(jié)合實(shí)際定向抓取騰訊新聞數(shù)據(jù),通過測試檢驗(yàn)系統(tǒng)性能。 1 項(xiàng)目介紹 本項(xiàng)目的主要內(nèi)容是分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。主要有以下幾個(gè)部分來介紹: (1)深入分析網(wǎng)絡(luò)新聞爬蟲的特點(diǎn),設(shè)計(jì)了分布式網(wǎng)絡(luò)新聞抓取系統(tǒng)爬取策略、抓取字段、動(dòng)態(tài)網(wǎng)頁抓取方法、分布式結(jié)構(gòu)、系統(tǒng)監(jiān)測和數(shù)據(jù)存儲(chǔ)六個(gè)關(guān)鍵功能。 (2)結(jié)合程序代碼分解說...

    vincent_xyb 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<