python爬蟲 基于requests模塊發(fā)起ajax的get請(qǐng)求實(shí)現(xiàn)解析
基于requests模塊發(fā)起ajax的get請(qǐng)求
需求:爬取豆瓣電影分類排行榜 https://movie.douban.com/中的電影詳情數(shù)據(jù)
用抓包工具捉取 使用ajax加載頁(yè)面的請(qǐng)求
鼠標(biāo)往下下滾輪拖動(dòng)頁(yè)面,會(huì)加載更多的電影信息,這個(gè)局部刷新是當(dāng)前頁(yè)面發(fā)起的ajax請(qǐng)求,
用抓包工具捉取頁(yè)面刷新的ajax的get請(qǐng)求,捉取滾輪在最底部時(shí)候發(fā)起的請(qǐng)求
這個(gè)get請(qǐng)求是本次發(fā)起的請(qǐng)求的url
ajax的get請(qǐng)求攜帶參數(shù)
獲取響應(yīng)內(nèi)容不再是頁(yè)面數(shù)據(jù),是json字符串,是通過(guò)異步請(qǐng)求獲取的電影詳情信息
start和limit參數(shù) 需要注意,改變這兩個(gè)參數(shù)獲取的電影詳情不一樣
import requests import json # 指定ajax-get請(qǐng)求的url(通過(guò)抓包進(jìn)行獲?。? url = 'https://movie.douban.com/j/chart/top_list?' # 封裝ajax的get請(qǐng)求攜帶的參數(shù)(從抓包工具中獲取) 封裝到字典 param = { 'type': '13', 'interval_id': '100:90', 'action': '', 'start': '20', # 從第20個(gè)電影開始獲取詳情 'limit': '20', # 獲取多少個(gè)電影詳情 # 改變這兩個(gè)參數(shù)獲取的電影詳情不一樣 } # 定制請(qǐng)求頭信息,相關(guān)的頭信息必須封裝在字典結(jié)構(gòu)中 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', } # 發(fā)起ajax的get請(qǐng)求還是用get方法 response = requests.get(url=url,params=param,headers=headers) # 獲取響應(yīng)內(nèi)容:響應(yīng)內(nèi)容為json字符串 data = response.text data = json.loads(data) for data_dict in data: print(data_dict["rank"],data_dict["title"]) ''' 芙蓉鎮(zhèn) 沉靜如海 淘金記 馬戲團(tuán) 情迷意亂 士兵之歌 戰(zhàn)爭(zhēng)與和平 怦然心動(dòng) 大話西游之月光寶盒 羅馬假日 音樂(lè)之聲 一一 雨中曲 我愛(ài)你 莫娣 卡比利亞之夜 婚姻生活 本杰明·巴頓奇事 情書 春光乍泄 '''
從21個(gè)電影開始獲取信息,總共獲取20個(gè)電影詳情信息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)獲取照片的地理定位信息
這篇文章主要為大家詳細(xì)介紹了如何使用 Python 的 PIL(Python Imaging Library)庫(kù)實(shí)現(xiàn)從 JPEG 圖像中獲取經(jīng)緯度信息,需要的可以參考一下2023-05-05django xadmin action兼容自定義model權(quán)限教程
這篇文章主要介紹了django xadmin action兼容自定義model權(quán)限教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Python并發(fā)編程協(xié)程(Coroutine)之Gevent詳解
這篇文章主要介紹了Python并發(fā)編程協(xié)程(Coroutine)之Gevent詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下2017-12-12使用python flask框架開發(fā)圖片上傳接口的案例詳解
剛領(lǐng)導(dǎo)安排任務(wù),需求是這樣的開發(fā)一個(gè)支持多格式圖片上傳的接口,并且將圖片壓縮,支持在線預(yù)覽圖片,下面小編分享下使用python flask框架開發(fā)圖片上傳接口的案例詳解,感興趣的朋友一起看看吧2022-04-04Python辦公自動(dòng)化之JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫(kù)操作
這篇文章主要為大家詳細(xì)介紹了Python辦公自動(dòng)化中JSOM數(shù)據(jù)處理與SQL Server數(shù)據(jù)庫(kù)操作的相關(guān)知識(shí),文中的示例代碼簡(jiǎn)潔易懂,有需要的小伙伴可以參考下2024-01-01Python中super().__init__()測(cè)試以及理解
__init__()一般用來(lái)創(chuàng)建對(duì)象的實(shí)例變量,或一次性操作,super()用于調(diào)用父類的方法,可用來(lái)解決多重繼承問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Python中super().__init__()測(cè)試及理解的相關(guān)資料,需要的朋友可以參考下2021-12-12Python寫的一個(gè)定時(shí)重跑獲取數(shù)據(jù)庫(kù)數(shù)據(jù)
本文給大家分享基于python寫的一個(gè)定時(shí)重跑獲取數(shù)據(jù)庫(kù)數(shù)據(jù)的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2016-12-12