溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python爬蟲中獲取Ajax方式加載數(shù)據(jù)的方法

發(fā)布時間:2020-08-06 10:36:17 來源:億速云 閱讀:317 作者:小新 欄目:編程語言

小編給大家分享一下Python爬蟲中獲取Ajax方式加載數(shù)據(jù)的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

獲取Ajax方式加載的數(shù)據(jù)

爬蟲最需要關(guān)注的不是頁面信息,而是頁面信息的數(shù)據(jù)來源。

Ajax方式加載的頁面,數(shù)據(jù)來源一定是JSON,直接對AJAX地址進行post或get,拿到JSON,就是拿到了網(wǎng)頁數(shù)據(jù)。

(1)先通過瀏覽器訪問豆瓣電影排行榜

https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&type=11&interval_id=100:90&action=

Python爬蟲中獲取Ajax方式加載數(shù)據(jù)的方法

(2)瀏覽器訪問后,通過抓包工具就可以獲取我們想要的一些信息。

Python爬蟲中獲取Ajax方式加載數(shù)據(jù)的方法

Python爬蟲中獲取Ajax方式加載數(shù)據(jù)的方法

只要response里面有 JSON數(shù)據(jù),我們就可以找到服務(wù)器的數(shù)據(jù)來源。

分析發(fā)現(xiàn)變動的是start value和limit value, type,interval_id,action,固定不變,這三個url中已經(jīng)包含了,所以formdata只用傳start和limit。

import urllib
import urllib2
url = 'https://movie.douban.com/typerank?type_name=%E5%89%A7%E6%83%85&type=11&interval_id=100:90&action='
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
 Chrome/60.0.3112.101 Safari/537.36'}
# start和limit可以自己隨便設(shè)置
formdata = {'start':'20','limit':'100'}
data = urllib.urlencode(formdata)
request = urllib2.Request(url,data = data,headers=headers)
response = urllib2.urlopen(request)
print response.read()

看完了這篇文章,相信你對Python爬蟲中獲取Ajax方式加載數(shù)據(jù)的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI