用pycharm爬豆瓣电影400多条评论的完整代码
时间: 2024-12-17 21:49:29 浏览: 22
在PyCharm中编写爬取豆瓣电影评论的Python代码通常会涉及使用`requests`库获取网页内容,`BeautifulSoup`解析HTML,以及可能的话,使用`lxml`库提高解析效率。以下是一个简化的示例,用于爬取电影详情页面的基本评论部分,注意实际操作时需要处理反爬策略,如登录、动态加载等:
```python
import requests
from bs4 import BeautifulSoup
# 豆瓣API地址或其他评论链接
url = "https://movie.douban.com/subject/<movie_id>/comments"
def get_comments(movie_id):
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.3'
}
response = requests.get(url.format(movie_id=movie_id), headers=headers)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'lxml')
comments_list = soup.find('ol', {'class': 'comment-list js-commentslist'})
for comment in comments_list.find_all('li', class_='comment-item'):
user = comment.find('span', class_='comment-info').find('a')['title']
text = comment.find('div', class_='short').text
print(f"用户: {user}\n评论: {text.strip()}\n")
else:
print("请求失败")
# 使用电影ID替换下面的<movie_id>
get_comments('<your_movie_id>')
```
请注意,这个例子假设了评论在HTML结构中有特定的类名。实际页面结构可能会有所不同,所以你需要根据豆瓣的具体布局调整CSS选择器。此外,豆瓣可能有严格的反爬虫机制,直接抓取大量数据可能会导致账户受限甚至封禁。
阅读全文