国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python 從零開始爬蟲(六)——動態爬取解決方案 之 手動分析

rozbo / 804人閱讀

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

之前提到動態加載就兩個解決方案——手動分析和selenium。接下來的文章我們會來深入探討它們,本文將首先,重點介紹前者——手動分析

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

動態的標志

相信大家都有過這樣的經歷——進入一個網頁,鼠標到處點,滑輪上下滾,各種框框各種信息都蹦出來了,但是網頁鏈接沒變過,網頁也沒重新刷新過

比如:逛網頁版的網易云音樂的評論時,無論評論翻到第幾頁,網址也不會改變;逛知乎時,鼠標不停往下滾,只要下面還有回答,就會不斷的加載出來,同樣網址也不會改變;segmentfault的問答區也是

類似這樣能不轉跳不刷新就能加載新信息的網頁,就是用了動態加載。背后有許多不為人知的“交易”進行著,動態爬取的任務就是“攔截”它們11揭開它們的真面目。詳細請往下面看

分析什么

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

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

首先我們要找到json數據請求鏈接,通過F12捉包獲得,這種包屬于xhr或js里

然后我們通過分析多個json數據的請求鏈接的參數,規律,推出所有鏈接的結構

如果json數據是一個post包,我們還要分析要post的參數的內容,規律(加密的另談)

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

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

引導實例

繼續以某寶為例吧,隨便搜一個商品進去,或者點我這個示例商品鏈接。打開F12,換到Network捉js的包,點到評論那里,很快就彈出很多個包,逐個查看其response,很快就確定了目標包,然后評論換頁,捉多幾個供鏈接分析用。

這是一個包的請求鏈接

通過對比剛才捉到的多個包的鏈接,和多次試驗性發送請求,我們可以分析出鏈接結構——ua(包括ua)之后參數是不影響請求結果的,currentPageNum是評論頁數,auctionNumId是商品id,userNumId可以不要,這樣就足以構造所有json數據的請求鏈接,至于一些決定排序的參數這里就不再多分析,交給讀者。

多次試驗后發現這個請求鏈接不需要提交數據,headers加個user-agent就可以返回數據
但是taobao返回的json數據有坑,注意一下

然后提取json數據,這樣動態問題就解決了,可以完整的寫出爬蟲。jd評價的爬取和淘寶類似,詳見github。

知難而退,變法再上

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

既然手動分析不行那只能請selenium大佬上場了,這貨能模擬瀏覽器,能解決大部分動態網站。在爬蟲界有著“霸王硬上弓”的稱號,管它情不情愿,dalao來了動態加載也只有屈服的份了。這個dalao之后會介紹

下一篇將是一個完整的動態爬取實例,順便接觸一下帶post參數的請求。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41709.html

相關文章

  • Python 從零開始爬蟲(八)——動態爬取解決方案 selenium

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

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

    摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0
  • Python 從零開始爬蟲(七)——實戰:網易云音樂評論爬取(附加密算法)

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

    plus2047 評論0 收藏0
  • 從0-1打造最強性能Scrapy爬蟲集群

    摘要:包括爬蟲編寫爬蟲避禁動態網頁數據抓取部署分布式爬蟲系統監測共六個內容,結合實際定向抓取騰訊新聞數據,通過測試檢驗系統性能。 1 項目介紹 本項目的主要內容是分布式網絡新聞抓取系統設計與實現。主要有以下幾個部分來介紹: (1)深入分析網絡新聞爬蟲的特點,設計了分布式網絡新聞抓取系統爬取策略、抓取字段、動態網頁抓取方法、分布式結構、系統監測和數據存儲六個關鍵功能。 (2)結合程序代碼分解說...

    vincent_xyb 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<