1. 程式人生 > 其它 >python爬蟲系列之豆瓣電影top250原始碼

python爬蟲系列之豆瓣電影top250原始碼

import requests
import re
import csv

url = 'https://movie.douban.com/top250?start=0&filter='
for i in range(0,226,25):
    #總共10頁 每一頁資料25條 url裡的i表示第幾頁
    url = f'https://movie.douban.com/top250?start={i}&filter='   
    #設定請求頭
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'}
    resp = requests.get(url=url,headers = headers)
    #獲取頁面原始碼
    page_content = resp.text
    resp.close()
    #解析資料:主要通過正則表示式  惰性匹配拿到電影名稱上映年份以及豆瓣評分
    #先設定正則匹配規則
    obj = re.compile(r'<li>.*?<div class="item">.*? <span class="title">(?P<name>.*?)</span>'
                     r'.*?<br>(?P<year>.*?)&nbsp'
                     r'.*?<span class="rating_num" property="v:average">(?P<score>.*?)</span>',re.S)
    #將page_content丟到設定好的規則裡面
    result = obj.finditer(page_content)
    #將資料寫入CSV檔案  或者也可以更改為excel檔案
    f = open('date.csv',mode='a+',newline='')
    csvwrite = csv.writer(f)
    for i in result:
        dic = i.groupdict()
        dic['year'] = dic['year'].strip()
        csvwrite.writerow(dic.values())
    print('over!!') #每一頁爬取完了列印over!!
    f.close()
print('爬取完畢!~~')