python爬虫抓取豆瓣网页数据,,分析数据,显示前十条数据
时间: 2024-12-15 22:29:14 浏览: 3
Python爬虫抓取豆瓣网页数据通常涉及以下几个步骤:
1. **安装库**:首先需要安装`requests`和`BeautifulSoup`库,它们分别用于发送HTTP请求获取网页内容和解析HTML。
```bash
pip install requests beautifulsoup4
```
2. **发送请求**:使用`requests.get()`函数发送GET请求到豆瓣的电影、图书或其他页面的URL。
3. **解析HTML**:利用`BeautifulSoup`解析返回的HTML文档,找到包含数据的部分,如电影列表。
4. **提取数据**:通过CSS选择器或XPath表达式从HTML中提取出标题、评分、链接等信息。
5. **数据分析**:将提取的数据存储为列表或字典,并进行基本的统计分析,如计算平均分、最高分等。
6. **展示数据**:可以打印前几条数据或者保存到CSV文件、数据库或屏幕上。
示例代码:
```python
import requests
from bs4 import BeautifulSoup
def get_top_movies(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 假设电影数据在class='item-list'下的li元素中
movies = soup.find_all('li', class_='item-list')
top_ten = []
for movie in movies[:10]:
title = movie.find('span', itemprop='name').text
rating = float(movie.find('i', class_='rating_num')['title'])
link = movie.find('a')['href']
top_ten.append({
'title': title,
'rating': rating,
'link': 'https://movie.douban.com/' + link
})
return top_ten
url = "https://movie.douban.com/top250" # 豆瓣电影top250页
movies_data = get_top_movies(url)
# 打印前10部电影的信息
for i, movie in enumerate(movies_data, start=1):
print(f"{i}. {movie['title']} - 评分:{movie['rating']}/10")
阅读全文