豆瓣TOP250的电影爬取与导出

本文介绍了使用Python的requests和BeautifulSoup库爬取豆瓣电影Top250列表中的电影标题,保存到文本文件中。
摘要由CSDN通过智能技术生成
import requests
from bs4 import BeautifulSoup
with open("C:\\Users\\29130\\Desktop\\豆瓣前250电影.txt", 'a', encoding="utf-8") as b:
    head = {'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
                          "(KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69"}
    count = 1
    for num in range(0, 250, 25):
        response = requests.get(f"https://movie.douban.com/top250?start={num}&filter=", headers=head, verify=False).text
        soup = BeautifulSoup(response, "html.parser")
        titles = soup.findAll('span', attrs={"class": "title"})
        for title in titles:
            if '/' not in title.string:
                b.write(f'{count}.{title.string}\n')
                count += 1

豆瓣电影Top 250的数据爬取通常涉及到网络爬虫技术,使用Python的库如BeautifulSoup、requests等可以方便地从豆瓣网站获取数据。以下是简单的步骤: 1. **安装必要的库**: - `requests`用于发送HTTP请求获取网页内容 - `beautifulsoup4`用于解析HTML文档提取所需信息 - `pandas`用于创建DataFrame存储数据 - `openpyxl`或`xlsxwriter`用于将数据写入Excel文件 2. **编写爬虫脚本**: - 首先,通过requests库发送GET请求获取Top 250页面的HTML源码 - 然后,使用BeautifulSoup解析这个HTML,找到包含电影名、评分、导演和主演等信息的部分 - 创建一个字典或pandas DataFrame来储存每部电影的数据 ```python import requests from bs4 import BeautifulSoup import pandas as pd def get_top250_data(): url = "https://movie.douban.com/top250" # 发送请求 response = requests.get(url) # 解析响应 soup = BeautifulSoup(response.text, 'lxml') # 提取数据(这需要根据实际HTML结构调整) movie_list = [] for each in soup.find_all('div', class_='hd'): title = each.find('span', class_='title').text rating = each.find('span', class_='rating_num').text director = each.parent.parent.find('span', class_='導演').text actor = each.parent.parent.find('span', class_='主演').text movie_list.append({ '标题': title, '评分': rating, '导演': director, '演员': actor }) data_df = pd.DataFrame(movie_list) # 导出到Excel data_df.to_excel('豆瓣电影Top250.xlsx', index=False) get_top250_data() ``` 3. **注意事项**: - 豆瓣可能会有反爬机制,频繁请求可能导致IP被封禁。在实际操作前,记得检查其robots.txt文件以及使用代理IP或设置延迟。 - 数据抓取要遵守网站的使用协议,尊重版权。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值