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

持續更新...

對應代碼請見:..

 


免責聲明!

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



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