You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup爬取Yelp点评导出CSV缺失评分与ID求助

问题定位与修复说明

核心问题汇总

  • 导出CSV的逻辑仅遍历了review列表写入,完全未处理已经收集到的rating、ID两个列表的数据,是最直接的缺失原因
  • 分页URL拼接错误:Yelp点评分页参数为start,你当前的拼接逻辑没有带参数名,无法正确获取第2-10页的点评数据
  • 评分选择器逻辑错误:你使用的class包含固定的星级后缀i-stars--regular-5,只能匹配5星点评,且评分存储在aria-label属性中,不是标签的text内容,你写的i.text拿不到任何值
  • 点评ID的选择器匹配错误:你当前选择的span类名并不是点评ID所在的父级容器,无法正确获取到aria-label属性的内容
  • 代码存在语法隐患:你在初始化ID = []之前就执行了ID.append()操作,运行时会直接抛出变量未定义的报错

修正后的代码示例

from bs4 import BeautifulSoup
import urllib.request
import csv
import time

# 提前初始化三个存储列表
review_list = []
rating_list = []
id_list = []

# 循环爬10页,每页10条共100条
for page in range(0, 10):
    # 修正分页参数,Yelp分页用start参数,每页偏移10
    url = f"https://www.yelp.com/biz/ichiran-times-square-new-york-4?osq=Ichiban+Ramen&start={page*10}"
    ourUrl = urllib.request.urlopen(url)
    soup = BeautifulSoup(ourUrl, 'html.parser')
    
    # 修正评分选择器:去掉固定星级后缀,从aria-label取星级
    for rate_tag in soup.find_all('div', class_=lambda x: x and 'i-stars__373c0' in x and 'i-stars--regular' in x):
        rating = rate_tag.get('aria-label', '').replace(' star rating', '')
        rating_list.append(rating)
    
    # 修正点评ID选择器,匹配点评卡片容器获取ID
    for review_card in soup.find_all('div', class_=lambda x: x and 'review__373c0' in x):
        review_id = review_card.get('id', '')
        id_list.append(review_id)
    
    # 原点评内容逻辑基本可用,保留
    for review_tag in soup.find_all('p', {'class':"comment__373c0__Nsutg css-n6i4z7"}):
        review_list.append(review_tag.text.strip())
    # 加请求间隔避免触发反爬
    time.sleep(3)

# 导出CSV,同时写入三个字段,用csv模块避免内容逗号导致的列偏移
with open('Review.csv', 'w', encoding='utf-8', newline='') as f:
    writer = csv.writer(f)
    # 先写表头
    writer.writerow(['点评ID', '点评评分', '点评内容'])
    # 按行写入三个字段对应的值
    for rid, rate, content in zip(id_list, rating_list, review_list):
        writer.writerow([rid, rate, content])

补充注意事项

  • Yelp有反爬机制,若出现请求失败的情况,可以尝试添加请求头模拟浏览器访问
  • 平台的类名会定期更新,若后续爬取不到数据可以重新审查元素获取最新的类名规则

内容的提问来源于stack exchange,提问作者WutsKraken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 19:27:08