使用python访问豆瓣网站,编写网络爬虫程序,爬取电影信息,保存至csv文件中
时间: 2024-11-18 20:16:02 浏览: 16
在Python中,你可以使用requests库来发送HTTP请求获取网页内容,然后使用BeautifulSoup或lxml库解析HTML结构,提取你需要的数据,如电影名称、评分等。下面是一个简单的步骤概述:
1. **安装所需库**:
首先需要安装`requests`和`beautifulsoup4`库,如果还没有安装,可以使用pip命令:
```
pip install requests beautifulsoup4
```
2. **编写基础代码**:
```python
import requests
from bs4 import BeautifulSoup
# 发送GET请求到豆瓣电影页面
url = 'https://movie.douban.com/top250'
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 找到包含电影信息的部分,比如tbody
movie_table = soup.find('table', attrs={'class': 'grid_view'})
# 提取数据并处理
rows = movie_table.find_all('tr')
data = []
for row in rows[1:]: # 跳过表头
title_cell = row.find('td', {'class': 'title'})
rating_cell = row.find('span', {'class': 'rating_num'}).text
data.append({'标题': title_cell.text.strip(), '评分': rating_cell})
else:
print(f"请求失败,状态码:{response.status_code}")
# 将数据保存到CSV文件
import csv
with open('douban_movies.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
```
这个例子假设了豆瓣电影排行榜(Top 250)的HTML结构没有变化。实际抓取时,你可能需要根据豆瓣的API文档调整URL和解析部分。
阅读全文