python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和电影图片,分别保存到csv文件和文件夹中

python用bs4爬取豆瓣电影排行榜 Top 250的电影信息和图片,分别保存到csv文件和文件夹中。 爬取的数据包括每个电影的电影名 , 导演 ,演员 ,评分,推荐语,年份,国家,类型。

py如果有包未安装,鼠标放在红线下安装上即可。 生成的csv文件和当前py文件同目录,下载的图片文件夹路径可以自己设置,在代码的第49行和53行,默认放在d盘paqu文件夹中,需要自己先创建文件夹,如果和我的同名同位置不用改代码,否则改第49行和53行的路径为你自己的。

代码在最下面

爬取图片

写入csv

 电影图片保存到本地

import requests, bs4, csv
import re
from loguru import logger

csv_file=open('films.csv', 'w', newline='',encoding='
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,可以使用 Python 的 requests 库和 BeautifulSoup 库来对豆瓣电影 top250 进行爬取,并使用 Pandas 和 Matplotlib 库进行数据分析和可视化。以下是示例代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd import matplotlib.pyplot as plt # 定义请求头信息 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 定义函数,获取页面信息 def get_page(url): try: response = requests.get(url, headers=headers) if response.status_code == 200: return response.text return None except RequestException: return None # 定义函数,解析页面信息 def parse_page(html): soup = BeautifulSoup(html, 'lxml') items = soup.find_all('div', class_='item') for item in items: yield { '电影排名': item.find('em', class_='').text, '电影名称': item.find('span', class_='title').text, '电影评分': item.find('span', class_='rating_num').text, '评价人数': item.find('div', class_='star').find_all('span')[3].text[:-3], '电影介绍': item.find('span', class_='inq').text if item.find('span', class_='inq') else '' } # 定义函数,保存数据为CSV文件 def save_data(data): df = pd.DataFrame(data) df.to_csv('douban_top250.csv', index=False, encoding='utf-8') # 定义函数,绘制评分分布图 def plot_rating(data): ratings = data['电影评分'].astype(float) plt.hist(ratings, bins=20, color='steelblue', edgecolor='k') plt.xlabel('电影评分') plt.ylabel('电影数量') plt.title('豆瓣电影 Top250 评分分布图') plt.show() # 主函数 def main(): url = 'https://movie.douban.com/top250' movies = [] for i in range(10): page_url = url + '?start=' + str(i * 25) + '&filter=' html = get_page(page_url) for item in parse_page(html): movies.append(item) save_data(movies) df = pd.DataFrame(movies) plot_rating(df) if __name__ == '__main__': main() ``` 运行代码后,会在当前目录下生成一个名为 douban_top250.csv文件,同时还会绘制出豆瓣电影 Top250 的评分分布图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白驹_过隙

听说打赏的都进了福布斯排行榜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值