python3爬取豆瓣電影Ajax(獲取動態內容)
阿新 • • 發佈:2019-02-09
利用python3中的urllib模組對豆瓣電影的“喜劇片”進行爬取。因為是動態頁面,我們關注點應在資料來源上,我們知道所有Ajax資料來源都是json,通過Fiddler抓包工具,我們可以獲取相應json資料,提取出相應url,以及post請求的QueryString,之後便可以進行程式碼的編寫。
程式碼如下:
# -*- coding:utf-8 -*-
from urllib import request as urllib2
from urllib import parse
url = r'https://movie.douban.com/j/new_search_subjects?'
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0'
}
formData = {
'sort':'T',
'range':'0,10',
'tags':'電影,喜劇',
'start':'0',
}
data = parse.urlencode(formData).encode('utf-8')
request = urllib2.Request(url=url, data=data, headers=headers)
response = urllib2.urlopen(request)
print(response.read().decode())
執行之後便可以得到相應json資料,值得注意的是start值代表起始電影序號。0代表評分最高的電影(或其他排序規則)。可以通過修改start值隨意爬取資料。