请用python的beautifulsoup库爬取豆瓣电影TOP250的电影名称、导演、评分、评价人数信息,并把信息存储在以学号命名的csv文件中。
时间: 2024-03-29 22:36:25 浏览: 77
好的,我可以为您提供代码示例。首先,您需要安装beautifulsoup库和requests库。可以使用以下命令进行安装:
```
pip install beautifulsoup4
pip install requests
```
然后,您可以使用以下代码来爬取豆瓣电影TOP250的信息并将其存储在CSV文件中:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 设置请求头部信息,模拟浏览器访问
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.36'}
# 发送HTTP请求获取HTML页面内容
url = 'https://movie.douban.com/top250'
response = requests.get(url, headers=headers)
html = response.content.decode('utf-8')
# 使用BeautifulSoup解析HTML页面内容
soup = BeautifulSoup(html, 'html.parser')
# 创建csv文件对象并写入表头行
file_name = 'your_student_id.csv'
with open(file_name, 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['电影名称', '导演', '评分', '评价人数'])
# 解析HTML页面内容,获取电影信息并写入csv文件
for item in soup.select('.item'):
title = item.select_one('.title').get_text().strip()
directors = item.select_one('.info .bd p').get_text().strip().split('\xa0\xa0\xa0')
director = directors[0][4:]
rate = item.select_one('.rating_num').get_text().strip()
rating_num = item.select_one('.star span:nth-of-type(4)').get_text().strip()[:-3]
with open(file_name, 'a', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow([title, director, rate, rating_num])
```
在该代码中,我们首先发送HTTP请求获取豆瓣电影TOP250的HTML页面内容,然后使用BeautifulSoup解析HTML页面内容,获取电影信息并将其写入CSV文件。请将`your_student_id`替换为您的学号。
阅读全文