我通过刮一些东西来学习刮痧。(例如,此页:https://www.tripadvisor.com/Attractions-g187791-Activities-Rome_Lazio.html)。我面临的一个问题是,如果一篇评论超过一定长度,它将显示一个“more”按钮,然后用javascript扩展文本。我无法发布请求来扩展这些评论的文本。你知道吗
按照这里给出的建议:Click a Button in Scrapy
我收到了发帖请求: 请求URL:https://www.tripadvisor.com/OverlayWidgetAjax?Mode=EXPANDED_HOTEL_REVIEWS_RESP&metaReferer=
请求 方法:岗位你知道吗
在scrapy shell中,我尝试了以下方法:
from scrapy.http.request import Request
fetch("https://stackoverflow.com/questions/6682503/click-a-button-in-scrapy")
Request(url="https://www.tripadvisor.com/OverlayWidgetAjax?Mode=EXPANDED_HOTEL_REVIEWS_RESP&metaReferer=",method="POST")
然后通过打电话给:
response.css("p.partial_entry").getall()
与堆栈示例不同的是,它没有要发送的表单,只有一个简单的请求,即展开文本。单击“更多”按钮可展开页面上的所有案例。所以我希望这个方法可以扩展所有的文本,但它不会扩展任何内容,也不会改变页面上的任何内容。你知道吗
我的主要问题是,我有一个困难的时间测试,因为我的工作,通过粘壳或bash。你知道吗
Request(…)
实际上并没有获取该请求并相应地更新response
。改用fetch(Request(…))
。你知道吗相关问题 更多 >
编程相关推荐