天天看點

python | 爬蟲筆記(六)- Ajax資料爬取

request得到和浏覽器資料不同 資料加載是異步加載方式,原始頁面不包含資料,加載完後會會再向伺服器請求某個接口擷取資料,然後資料再被處理才呈現到網頁上,這其實就是發送了一個 Ajax 請求。這樣Web 開發上可以做到前後端分離,而且降低伺服器直接渲染頁面帶來的壓力。 是以遇到這種情況,用requests模拟ajax請求

6.1 Ajax 

1- 介紹 Ajax,全稱為 Asynchronous JavaScript and XML,即異步的 JavaScript 和 XML。是利用 JavaScript 在保證頁面不被重新整理、頁面連結不改變的情況下與伺服器交換資料并更新部分網頁的技術。 執行個體:頁面重新整理後加載   2- 基本原理 1)發送請求 建立了 XMLHttpRequest 對象,然後調用了onreadystatechange 屬性設定了監聽,然後調用 open() 和 send() 方法向伺服器發送了一個請求,得到伺服器傳回響應,并解析 2)解析内容 得到響應之後,onreadystatechange 屬性對應的方法便會被觸發,此時利用 xmlhttp 的 responseText 屬性便可以取到響應的内容。HTML或者Json 3)渲染網頁 解析完響應内容之後,就可以調用 JavaScript 來針對解析完的内容對網頁進行下一步的處理了。DOM操作 原理,即需要知道請求如何發送、發往哪裡,發了哪些參數 

6.2 Ajax分析方法

1-檢視請求 2-過濾請求

6.3 結果提取

1-分析請求 GET類型請求:type、value、containerid、page。 可以分析請求,推斷出參數的規律   2- 分析響應  待補充  

##本系列内容為《python3爬蟲開發實戰》學習筆記。本系列部落格清單如下:

(零)學習路線

(一)開發環境配置

(二)爬蟲基礎

(三)基本庫使用

(四)解析庫使用

(五)資料存儲

(六)Ajax資料爬取

(七)動态渲染頁面爬取Selenium

持續更新...

對應代碼請見:..

轉載于:https://www.cnblogs.com/geo-will/p/9717393.html