日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬取豆瓣电影TOP250

發布時間:2024/4/11 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬取豆瓣电影TOP250 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個比較經典的例子,爬取的是這個頁面https://movie.douban.com/top250
使用正則表達式,將電影名稱,上映年份,評分,評價人數這些信息提取出來,并保存到一個csv文件中,代碼如下:

import requests import re import csvheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36" } # 共有10頁,要做10次循環 for i in range(10):url = "https://movie.douban.com/top250?start={}&filter=".format(i * 25)resp = requests.get(url, headers=headers)page_content = resp.text# 正則解析數據obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)'r'</span>.*?<p class="">.*?<br>(?P<year>.*?)&nbsp.*?<span 'r'class="rating_num" property="v:average">(?P<score>.*?)</span>.*?'r'<span>(?P<num>.*?)人評價</span>', re.S)# 開始匹配result = obj.finditer(page_content)# 以追加形式打開一個文件 加上newline參數可以讓數據之間沒有空行f = open("data2.csv", mode="a", newline='')# writer()函數返回一個writer對象,該對象負責將用戶的數據在給定的文件類對象上轉換為帶分隔符的字符串csvwriter = csv.writer(f)for it in result:# print(it.group("name"))# print(it.group("score"))# print(it.group("num"))# print(it.group("year").strip())# 將一行數據存進一個字典里dic = it.groupdict() # {'name': '肖申克的救贖', 'year': '1994', 'score': '9.7', 'num': '2492606'}dic['year'] = dic['year'].strip() # 去除多余的空格# 將字典中的所有value寫入到writer的文件對象。csvwriter.writerow(dic.values())f.close() # 關閉文件print(i, "頁over")resp.close()

運行結果:

data2.csv文件中的數據,共250條:

總結

以上是生活随笔為你收集整理的python爬取豆瓣电影TOP250的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。