1、先打開douban電影排行榜,點擊喜劇部分
2、用鼠標滾輪向下翻頁,同時按f12進行檢查,點擊Network中的Headers
3、我們可以發現Headers中有很多信息,比如Request URL以及Content-Type中的json格式(意思是最後的數據類型是json格式),代碼中需要用到
4、最下面的參數是所有頁面共有的參數,代碼中也需要用到
5、 上圖中的User-Agent是UA偽裝的必要部分,代碼中也需要用
以上就是我們所需要的基本信息,下面給出代碼
1、import兩個庫
import requests
import json
2、在main函數中寫出url和param字典,其中將第一部分中復制的Requests URL中問號後面的部分去掉,寫在字典param裡,這樣方便我們設置參數,然後我們將start設置為1,limit設置為20,意思是從第二部電影開始,一直到100部電影後
if __name__=="__main__":
url='https://movie.douban.com/j/chart/top_list?'
param={
'type':'4',
'interval_id':'100:90',
'action':'',
'start':'1',#從庫中第幾部電影開始
'limit':'100',#一次取出的個數
}
3、進行UA偽裝,偽裝自己為浏覽器,從而訪問該頁面
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 Core/1.77.111.400 QQBrowser/10.9.4812.400'
}
4、用response接收通過requests來get()的對象,同時創建一個list_data變量來接收requests.json()的數據
response=requests.get(url=url,params=param,headers=headers)
list_data=response.json()#響應數據為json格式
5、文件存儲,將其存放在本目錄下
fp=open('./douban.json','w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
6、運行以後點擊我們創建的douban.json,將其在網上的json在線識別庫中解析後能發現我們的解析是成功的
爬取網站的重要一點在於觀察其網站的加載方式,然後進行對requests庫和json庫的結合使用。