网络爬虫——python爬取豆瓣评论
要使用Python爬取豆瓣电影评论,你可以使用requests
库获取网页内容,然后用BeautifulSoup
解析网页。以下是一个简单的示例代码:
import requests
from bs4 import BeautifulSoup
import time
# 设置HTTP请求头部,模拟浏览器访问
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'}
def get_comments(url):
# 获取网页内容
response = requests.get(url, headers=headers)
response.raise_for_status() # 检查请求是否成功
soup = BeautifulSoup(response.text, 'lxml') # 解析网页
# 提取评论内容
comments = soup.find_all('div', class_='comment')
for comment in comments:
content = comment.find('div', class_='comment-content').text.strip()
author = comment.find('span', class_='comment-info').text.strip()
print(f'评论内容:{content}\n作者:{author}\n')
# 主函数
def main(url):
# 循环抓取多页评论
for page in range(1, 11): # 假设只抓取前10页
print(f'正在抓取第{page}页评论...')
page_url = f'{url}&page={page}'
get_comments(page_url)
time.sleep(2) # 暂停2秒,减少对服务器的请求频率
if __name__ == '__main__':
movie_url = 'https://movie.douban.com/subject/1292720/comments?sort=new_score'
main(movie_url)
请注意,由于豆瓣网站可能有反爬机制,实际运行时可能需要处理登录验证、反爬机制等问题。此外,频繁的爬取数据可能会对豆瓣服务器造成压力,应遵守豆瓣的爬虫政策。
评论已关闭