爬蟲之爬取豆瓣排行榜

2021-10-01 07:06:02 字數 2564 閱讀 6118

首先我們先分析一下頁面

通過滾動滑鼠發現這個頁面是通過動態載入的

找到這個鏈結,這個裡面才有我們想要的信

通過這個url可以看出是ajax請求,所以要想讓它動態載入的話只需要更改start的值(start是開始載入的頁面數量位置,limit是一次性載入的數量)

可以看到這個裡面是json字串型別,所以我們寫爬蟲的時候要轉換型別

import json

import requests

defrun

(url)

: head =

#verify引數是為了取消ssl驗證

respones = requests.get(url,verify=

false

,headers=head)

jsstr = respones.content.decode(

) jsdata = json.loads(jsstr)

return jsdata

if __name__ ==

'__main__'

:for num in

range(0

,20):

url =

''+str

(num*20)

+'&limit=20'

info = run(url)

print

(info)

執行結果如下,成功抓到我們想要的資料(紅色那個ssl的警告不是錯誤)

如果只想拿其中的一些資料,可以遍歷一下

import json

import requests

defrun

(url)

: head =

#verify引數是為了ssl驗證

respones = requests.get(url,verify=

false

,headers=head)

jsstr = respones.content.decode(

) jsdata = json.loads(jsstr)

for i in jsdata:

#電影名字

print

(i["title"])

#url

print

(i["url"])

#評分print

(i["score"])

if __name__ ==

'__main__'

:for num in

range(0

,20):

url =

''+str

(num*20)

+'&limit=20'

info = run(url)

執行結果如下

總共有600多部影片,所以最終**如下

import json

import requests

defrun

(url)

: head =

#verify引數是為了ssl驗證

respones = requests.get(url,verify=

false

,headers=head)

jsstr = respones.content.decode(

) jsdata = json.loads(jsstr)

for i in jsdata:

#電影名字

print

(i["title"])

#url

print

(i["url"])

#評分print

(i["score"])

if __name__ ==

'__main__'

:for num in

range(0

,34):

url =

''+str

(num*20)

+'&limit=20'

info = run(url)

爬取豆瓣電影推薦排行榜

import requests from bs4 import beautifulsoup class dianying def html url self,url html requests.get url soup beautifulsoup html.text,lxml pai soup.se...

python爬取豆瓣電影排行榜資料

電影推薦 豆瓣電影排行榜資料抓取 目標 目標資料描述 1 排名 2 電影名字 3 鏈結 4 導演人員 5 評價 6 評分 7 評價人數 8 評價內容 篩選資訊 def get top url respose requests.get url,headers headers soup beautifu...

爬取豆瓣電影排行榜top250

下面直接上 import requests from bs4 import beautifulsoup 爬取網頁原始碼 defdownload page url headers req requests.get url url,headers headers return req.content 爬...