帮我用python爬虫爬取携程旅行里广州塔的十条评论,并输入到csv文件中
时间: 2024-06-10 21:03:55 浏览: 174
好的,我可以帮您使用 Python 编写爬虫程序来爬取携程旅行里广州塔的十条评论,并将结果保存到 CSV 文件中。下面是示例代码:
首先,您需要安装 requests 和 beautifulsoup4 库:
```
pip install requests
pip install beautifulsoup4
```
然后使用以下代码来编写爬虫程序:
```python
import csv
import requests
from bs4 import BeautifulSoup
# 设置 User-Agent 头,模拟浏览器访问
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'}
# 携程旅行广州塔页面 URL
url = 'https://you.ctrip.com/sight/guangzhou33/150385.html'
# 获取页面 HTML
response = requests.get(url, headers=HEADERS)
html = response.text
# 解析 HTML
soup = BeautifulSoup(html, 'html.parser')
# 查找评论区 DIV
comments_div = soup.find('div', attrs={'class': 'comment_list'})
# 查找评论列表 UL
comments_ul = comments_div.find('ul')
# 查找所有评论 LI
comments_li = comments_ul.findAll('li')
# 创建 CSV 文件并写入表头
with open('comments.csv', 'w', encoding='utf-8-sig', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['评论', '评分', '时间'])
# 遍历评论 LI
for li in comments_li[:10]: # 只获取前十条评论
# 查找评论内容 DIV
content_div = li.find('div', attrs={'class': 'J_commentDetail'})
# 查找评论文本 SPAN
text_span = content_div.find('span')
# 获取评论文本
text = text_span.text.strip()
# 查找评分元素
score_span = li.find('span', attrs={'class': 'TotalScore'})
# 获取评分
score = score_span.text
# 查找评论时间元素
time_span = li.find('span', attrs={'class': 'time_line'})
# 获取评论时间
time = time_span['title'].strip()
# 将评论、评分和时间写入 CSV 文件中
writer.writerow([text, score, time])
print('评论爬取完成,结果保存到 comments.csv 文件中。')
```
运行以上代码,将会在当前目录下生成一个名为 comments.csv 的文件,内容为携程旅行广州塔页面的前十条评论、评分和时间。
希望这个回答能够解决您的问题,如果您有其他问题,可以继续提问。
阅读全文