python爬虫豆瓣电影评价
时间: 2025-02-09 16:05:11 浏览: 42
### 编写Python爬虫抓取豆瓣电影评论
#### 使用`requests`库获取网页内容
为了从豆瓣网站上收集电影评论,首先需要发送HTTP请求来获取目标页面的内容。这可以通过`requests`库完成。
```python
import requests
url = 'https://movie.douban.com/subject/{movie_id}/comments'.format(movie_id='1234567') # 替换为实际电影ID
response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
html_content = response.text
```
此代码片段展示了如何向指定URL发起GET请求,并设置了一个常见的浏览器用户代理字符串以模拟真实访问[^1]。
#### 解析HTML内容提取所需数据
一旦获得了HTML源码,则需从中抽取有用的信息——即用户的评分和评论文字。这里推荐采用`BeautifulSoup`来进行DOM解析:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, "lxml")
# 提取消息区域中的每条评论项
comment_items = soup.select('.comment-item')
for item in comment_items:
user_name = item.find('span', class_='comment-info').a.string.strip()
rating_tag = item.find('span', attrs={"class": lambda L: L and 'allstar' in L})
score = int(rating_tag['class'][0][-2]) if rating_tag else None
content_div = item.find('p', class_='').text.replace('\n', '').strip()
print(f'{user_name}: {score}星\n{content_div}')
```
上述脚本遍历了所有包含评论条目的节点,分别读取出用户名、星级打分(如果存在的话),以及具体的评语文本。
#### 处理反爬机制与合法合规注意事项
值得注意的是,在开发过程中应当注意遵守服务条款并合理控制频率以免触发对方服务器端的防护措施;同时也要尊重版权和个人隐私保护原则。对于某些设置了登录验证或验证码挑战的目标站点来说,可能还需要借助Selenium这样的自动化测试工具辅助加载JavaScript渲染后的动态资源[^4]。
阅读全文
相关推荐


















