您好,登錄后才能下訂單哦!
小編給大家分享一下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=
(2)瀏覽器訪問后,通過抓包工具就可以獲取我們想要的一些信息。
只要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è)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(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)容。