基于requests子產品發起ajax的get請求
需求:爬取豆瓣電影分類排行榜 https://movie.douban.com/中的電影詳情資料
用抓包工具捉取 使用ajax加載頁面的請求

滑鼠往下下滾輪拖動頁面,會加載更多的電影資訊,這個局部重新整理是目前頁面發起的ajax請求,
用抓包工具捉取頁面重新整理的ajax的get請求,捉取滾輪在最底部時候發起的請求
這個get請求是本次發起的請求的url
ajax的get請求攜帶參數
擷取響應内容不再是頁面資料,是json字元串,是通過異步請求擷取的電影詳情資訊
start和limit參數 需要注意,改變這兩個參數擷取的電影詳情不一樣
import requests
import json
# 指定ajax-get請求的url(通過抓包進行擷取)
url = 'https://movie.douban.com/j/chart/top_list?'
# 封裝ajax的get請求攜帶的參數(從抓包工具中擷取) 封裝到字典
param = {
'type': '13',
'interval_id': '100:90',
'action': '',
'start': '20', # 從第20個電影開始擷取詳情
'limit': '20', # 擷取多少個電影詳情
# 改變這兩個參數擷取的電影詳情不一樣
}
# 定制請求頭資訊,相關的頭資訊必須封裝在字典結構中
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36',
}
# 發起ajax的get請求還是用get方法
response = requests.get(url=url,params=param,headers=headers)
# 擷取響應内容:響應内容為json字元串
data = response.text
data = json.loads(data)
for data_dict in data:
print(data_dict["rank"],data_dict["title"])
'''
芙蓉鎮
沉靜如海
淘金記
馬戲團
情迷意亂
士兵之歌
戰争與和平
怦然心動
大話西遊之月光寶盒
羅馬假日
音樂之聲
一一
雨中曲
我愛你
莫娣
卡比利亞之夜
婚姻生活
本傑明·巴頓奇事
情書
春光乍洩
'''
從21個電影開始擷取資訊,總共擷取20個電影詳情資訊
以上就是本文的全部内容,希望對大家的學習有所幫助,也希望大家多多支援。