[Python3 網絡爬蟲開發實戰] 6-Ajax 數據爬取
有時候我們在用 requests 抓取頁面的時候,得到的結果可能和在瀏覽器中看到的不一樣:在瀏覽器中可以看到正常顯示的頁面數據,但是使用 requests 得到的結果并沒有。這是因為 requests 獲取的都是原始的 HTML 文檔,而瀏覽器中的頁面則是經過 JavaScript 處理數據后生成的結果,這些數據的來源有多種,可能是通過 Ajax 加載的,可能是包含在 HTML 文檔中的,也可能是經過 JavaScript 和特定算法計算后生成的。

對于第一種情況,數據加載是一種異步加載方式,原始的頁面最初不會包含某些數據,原始頁面加載完后,會再向服務器請求某個接口獲取數據,然后數據才被處理從而呈現到網頁上,這其實就是發送了一個 Ajax 請求。
照 Web 發展的趨勢來看,這種形式的頁面越來越多。網頁的原始 HTML 文檔不會包含任何數據,數據都是通過 Ajax 統一加載后再呈現出來的,這樣在 Web 開發上可以做到前后端分離,而且降低服務器直接渲染頁面帶來的壓力。
所以如果遇到這樣的頁面,直接利用 requests 等庫來抓取原始頁面,是無法獲取到有效數據的,這時需要分析網頁后臺向接口發送的 Ajax 請求,如果可以用 requests 來模擬 Ajax 請求,那么就可以成功抓取了。
所以,本章我們的主要目的是了解什么是 Ajax 以及如何去分析和抓取 Ajax 請求。
Ajax Python 網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。