程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

B站路飛學城學習筆記-Python爬蟲-爬取電影分類排名-

編輯:Python

一、過程分析

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庫的結合使用。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved