python爬虫爬取豆瓣电影的数据
时间: 2024-12-26 11:11:51 浏览: 7
Python爬虫抓取豆瓣电影数据通常涉及以下几个步骤:
1. **选择工具**:Python中有许多库可用于网络爬虫,如requests用于发送HTTP请求,BeautifulSoup或PyQuery用于解析HTML文档,pandas或json处理数据。
2. **获取网页源码**:首先,通过requests库向豆瓣电影页面发送GET请求,获取到HTML源代码。
```python
import requests
response = requests.get('https://movie.douban.com/top250')
html_content = response.text
```
3. **解析HTML**:使用BeautifulSoup等库解析HTML内容,提取所需的信息,如电影标题、评分、导演、演员等。
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'lxml')
movies = soup.select('.item') # 选取包含电影信息的元素
```
4. **提取数据**:遍历解析后的DOM结构,提取每个电影的属性并存储到字典或列表中。
```python
data = []
for movie in movies:
title = movie.find('span', class_='title').text
rating = float(movie.find('span', class_='rating_num').text)
director = movie.find('div', class_='attrs').find('span', itemprop='director').text
... (其他属性提取类似)
data.append({
'title': title,
'rating': rating,
'director': director,
...
})
```
5. **保存数据**:将爬取到的数据存入CSV文件、数据库或是JSON文件,以便后续分析。
```python
import csv
with open('douban_movies.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
```
阅读全文