爬取多页豆瓣网电影我和我的祖国并保持csv
时间: 2024-11-15 14:34:32 浏览: 8
用爬虫爬取豆瓣电影TOP250,并用PythonTkinter实现GUI展示与电影信息检索
5星 · 资源好评率100%
爬取多页豆瓣电影《我和我的祖国》并将数据保存到CSV文件中,通常需要使用网络爬虫技术,比如Python的BeautifulSoup或Scrapy库。这里是一个简单的步骤概述:
1. 安装所需库:首先安装`requests`, `beautifulsoup4`, 和 `pandas`,如果你还没有安装,可以分别使用命令行(如pip)进行安装:
```
pip install requests beautifulsoup4 pandas
```
2. 编写爬虫脚本:创建一个Python文件,例如`douban_movie_scraper.py`,然后编写如下代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 豆瓣电影页面URL模板
url_template = "https://movie.douban.com/top250?start={}&filter="
headers = {'User-Agent': 'Mozilla/5.0'}
def get_html(url):
response = requests.get(url, headers=headers)
return response.text
def parse_html(html):
soup = BeautifulSoup(html, 'lxml')
movie_list = soup.select('.item > div > a') # 选择包含电影信息的元素
return [element.text for element in movie_list]
def save_to_csv(data, filename):
with open(filename, 'w', newline='', encoding='utf-8-sig') as file:
writer = csv.writer(file)
writer.writerow(['电影名'])
writer.writerows(data)
def main():
base_url = url_template.format(0) # 开始从第一页抓取
total_pages = 250 # 通常豆瓣Top250有250页
data = []
for i in range(total_pages):
url = base_url + str(i * 25)
html = get_html(url)
parsed_movies = parse_html(html)
data.extend(parsed_movies)
print(f"已抓取到第{i+1}页")
save_to_csv(data, '我和我的祖国豆瓣电影.csv')
if __name__ == "__main__":
main()
```
阅读全文