我使用scrapy下载此页面的内容:
但是当我查看
时response.body
评论的内容不存在,我指的是“负面体验(1评论)”的内容。说:"祝这家公司好运。布莱恩对我和我的丈夫非常粗鲁无礼。经过多次讨论我们想要的东西......"
scrapy shell 'http://www.bbb.org/central-texas/business-reviews/concrete-stamped-and-decorative/artistic-impressions-concrete-staining-in-new-braunfels-tx-90080290/Customer-Reviews' -s USER_AGENT='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36'
content = response.body
content.find('Good luck using this company')
返回:-1
我怎么能得到这些数据?
答案 0 :(得分:1)
通过请求/ReadReviews
端点并提供页面和体验类型来单独加载评论。例如,在提供的示例中,它将是:
http://www.bbb.org/central-texas/business-reviews/concrete-stamped-and-decorative/artistic-impressions-concrete-staining-in-new-braunfels-tx-90080290/ReadReviews?page=1&exp=-1
您需要在蜘蛛中执行的操作是向此端点生成/返回scrapy.Request
并解析回调中的评论。
示例,如何获取审核详细信息:
for review in response.css("tr"):
review_detail = review.css("td.complaint-detail::text").extract_first()
print(review_detail)