scrapy調用API爬蟲實戰


  • 在上篇博客中總結了scrapy+selenium實戰,但是那樣在抓取大量數據時效率很慢,所以准備采取調用API的辦法進行抓取,本篇博客記錄scrapy調用API抓取信息實戰。
    • 如何找到相關數據API:在想要抓取數據的當前網頁打開網頁抓包工具,選擇 network——>XHR后點開每個XHR選擇preview查看有沒有想要的數據,如果有想要的數據就點擊Headers查看API,那么這個網址就是我們想要的API,注意復制時?后面的不用復制,API為https://www.zkh.com/servezkhApi/search/1/product,在頁面中我們也可以看到請求頭Headers的相關參數等信息,大多數情況我們構造請求頭時只用到content-type就可以,content-length加了可能還會報錯(<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion: Connection lost.>)

 

另外請求需要的參數可以在Payload查看,復制其中的Request Payload並通過json.dumps(payload)構造發送請求時需要的參數,並修改其中參數的值就可以請求到想要的數據,參數錯誤時會出現返回數據為空的情況。

 

    • 請求的結果需要用 json.loads(response.text)轉換成json格式的數據

 

  • 學會了基於API的爬蟲后簡直像打開了新世界的大門,基本上最難的地方就是找API,構造Paylod參數時也要注意不要弄錯,同時在這里介紹一個極其好用的模擬發送請求的工具postman,當不確定自己的API能不能用就用這個進行測試,如果測試沒問題但是在scrapy中出現問題那就是程序的問題了,可能是paylod寫錯了,多了逗號、空格啥的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM