豆瓣電影資料抓取案例

2021-10-05 05:36:14 字數 2870 閱讀 5401

1、位址: 豆瓣電影 - 排行榜 - 劇情

2、目標: 電影名稱、電影評分

1、request url(基準url位址) :https:

2、query string(查詢引數)

# 抓取的查詢引數如下:

type:13

# 電影型別

interval_id:

100:

90action:

''start:

0# 每次載入電影的起始索引值 0 20 40 60

limit:

20# 每次載入的電影數量

import requests

0# 獲取隨機headers

defget_headers

(self)

: headers =

return headers

# 獲取頁面

defget_page

(self,params)

:# 返回 python 資料型別

html = requests.get(url=self.url,params=params,headers=self.get_headers())

.json(

) self.parse_page(html)

# 解析並儲存資料

defparse_page

(self,html)

: item =

# html為大列表 [,{},{}]

for one in html:

# 名稱 + 評分

item[

'name'

]= one[

'title'

].strip(

) item[

'score']=

float

(one[

'score'

].strip())

# 列印測試

print

(item)

self.i +=

1# 獲取電影總數

deftotal_number

(self,type_number)

:# f12抓包抓到的位址

url =

''.format

(type_number)

headers = self.get_headers(

) html = requests.get(url=url,headers=headers)

.json(

) total =

int(html[

'total'])

return total

# 獲取所有電影的名字和對應type值

defget_all_type_films

(self)

:# 獲取 型別和型別碼

url =

''headers = self.get_headers(

) html = requests.get(url=url,headers=headers)

.text

re_bds = r''

pattern = re.

compile

(re_bds,re.s)

r_list = pattern.findall(html)

# 存放所有型別和對應型別碼大字典

type_dict =

menu =

''for r in r_list:

type_dict[r[0]

.strip()]

= r[1]

.strip(

)# 獲取input的選單,顯示所有電影型別

menu += r[0]

.strip()+

'|'return type_dict,menu

# 主函式

defmain

(self)

:# 獲取type的值

type_dict,menu = self.get_all_type_films(

) menu = menu +

'\n請做出你的選擇:'

name =

input

(menu)

type_number = type_dict[name]

# 獲取電影總數

total = self.total_number(type_number)

for start in

range(0

,(total+1)

,20):

params =

# 呼叫函式,傳遞params引數

self.get_page(params)

# 隨機休眠1-3秒

time.sleep(random.randint(1,

3))print

('電影數量:'

,self.i)

if __name__ ==

'__main__'

: spider = doubanspider(

) spider.main(

)

Python python抓取豆瓣電影top250

一直對爬蟲感興趣,學了python後正好看到某篇關於爬取的文章,就心血來潮實戰一把吧。實現目標 抓取豆瓣電影top250,並輸出到檔案中 1.找到對應的url 2.進行頁面元素的抓取 3.編寫 第一步 實現抓取第乙個頁面 第二步 將其他頁面的資訊也抓取到 第三步 輸出到檔案 4.5.結果 1 控制台...

python 抓取https豆瓣電影資訊

1 豆瓣 為https,python需要模擬瀏覽器行為,新增請求頭資訊,2 開啟開發者工具,對資訊進行提取 2.1定位到電影資訊頭,先把關注的資訊提取出來 table re.findall r 顯示全部影片 data,re.s print table firsttable table 0 2.2 提...

抓取豆瓣電影Top250影評資料

我們先觀察豆瓣電影top250任意一頁的url位址的格式。先觀察第二頁。豆瓣top page2 熟悉了url格式,下面用urllib庫試著抓取頁面內容 我們以物件導向的編碼方式編寫這個頁面抓取程式。定義乙個類名movietop,在類中定義乙個初始化方法和乙個獲取頁面的方法。我們把一些基本資訊和引數初...