反爬取大众点评重庆美食评论数据并保存为CSV文件的代码
时间: 2024-11-15 07:31:39 浏览: 25
在Python中,你可以使用BeautifulSoup库解析HTML内容,Scrapy框架进行网页抓取,加上requests库来发送HTTP请求,然后利用pandas将数据保存到CSV文件。以下是一个简单的示例,但这需要满足网站的robots.txt规定,并且可能会有反爬虫策略:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 网页URL
url = 'https://www.dianping.com/chongqing/shichang/p1'
# 请求头模拟浏览器访问,防止被识别为爬虫
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, headers=headers)
soup = BeautifulSoup(response.text, 'lxml')
# 找到包含评论的数据部分,这里假设评论在某个class名下
comments_divs = soup.find_all('div', class_='comment-item')
data = []
for comment in comments_divs:
# 提取你需要的评论信息,如用户ID、评价内容等,根据实际HTML结构修改
user_id = comment.find('span', class_='username').text
review_content = comment.find('div', class_='review-content').text
data.append([user_id, review_content])
# 将数据转换为DataFrame
df = pd.DataFrame(data, columns=['用户ID', '评论内容'])
# 保存为CSV文件
df.to_csv('chongqing_food_reviews.csv', index=False)
阅读全文