爬取大众点评评论数据,要求代码能实现翻页爬取数据,同时每页数据能够获取评论人姓名、评论星级评价、评论内容
时间: 2023-09-19 17:10:13 浏览: 106
毕设项目:scrapy抓取数据存储至本地mysql数据库-大众点评爬虫 后面制作数据分析,难度中等
5星 · 资源好评率100%
、评论时间等信息。
以下是一个示例代码,可以通过BeautifulSoup库来实现爬取大众点评评论数据:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://www.dianping.com/shop/123456/review_all'
# 123456为店铺ID,需要替换为实际店铺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'
}
def get_comments(url):
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
comments = soup.find_all('div', class_='main-review')
# 筛选出所有评论的div标签
for comment in comments:
name = comment.find('a', class_='name').text.strip()
star = comment.find('span', class_='sml-rank-stars')['class'][1][7]
content = comment.find('div', class_='review-words').text.strip()
date = comment.find('span', class_='time').text.strip()
print('姓名:', name)
print('星级评价:', star)
print('评论内容:', content)
print('评论时间:', date)
print('----------------------------------------------')
next_page = soup.find('a', class_='NextPage')
if next_page:
next_url = 'https://www.dianping.com' + next_page['href']
get_comments(next_url)
get_comments(url)
```
需要注意的是,代码中的headers需要根据实际情况进行修改,以避免被反爬虫机制识别。另外,代码中使用了递归函数来实现翻页爬取数据的功能。
阅读全文