python爬取電影排行(Python爬取豆瓣電影)
2023-06-06 17:54:14 4
這裡我採用谷歌瀏覽器的開發者工具
開發環境
作業系統:windows 10
python版本 :3.6
爬取網頁模塊:requests
分析網頁模塊:json
模塊安裝
pip3 install requests
網頁分析
我們使用豆瓣電影的頁面來開始分析
https://movie.douban.com/explore#!type=movie&tag=熱門&sort=recommend&page_limit=20&page_start=0
由於是動態加載的我們這裡無法直接通過get方法獲取網頁內容
當我們點擊加載更多時可以通過開發者工具 Network選項中的XHR 來獲取動態加載的js
打開獲取到的連接
https://movie.douban.com/j/search_subjects?type=movie&tag=熱門&sort=recommend&page_limit=20&page_start=20
我們可以發現連接的規律,即page_limit和page_start
可以看到打開的內容為json格式
這裡我們構造一個連接,讓它從第一個電影開始,並顯示100個
https://movie.douban.com/j/search_subjects?type=movie&tag=熱門&sort=recommend&page_limit=100&page_start=0
對於JSON的解析我們可以先用一個在線的網站來查看
https://jsonformatter.curiousconcept.com/
這裡可以看到包含了如下信息
評分電影名稱電影的豆瓣連結封面地址代碼介紹
這裡逐行介紹代碼
1. import相關的模塊
import requestsimport json
2. 使用request模塊打開並獲取網頁內容
r = requests.get(url,verify=False)content=r.content
3. 使用json.load將json格式轉換為python的字典格式
這時就可以使用字典的相關方法來處理網頁了
result=json.loads(content)tvs=result['subjects']
4. 獲取相關信息並存入字典中
執行結果
我們可以選擇將獲取到的數據放入資料庫中
源碼位置
源碼請訪問我的github主頁:
https://github.com/bsbforever/spider/blob/master/dynamic_json.py