1. 程式人生 > >python3爬取豆瓣電影Ajax(獲取動態內容)

python3爬取豆瓣電影Ajax(獲取動態內容)

利用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值隨意爬取資料。