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