真的需要这个社区的帮助。在
我的问题是当我在python中使用代码时
response.xpath("//div[contains(@class,'check-prices-widget-not-sponsored')]/a/div[contains(@class,'check-prices-widget-not-sponsored-link')]").extract()
要在scrapy shell中提取供应商名称,输出为空。我真的不知道为什么会这样,在我看来,问题可能是网站信息在动态更新?在
这个web报废的url是:https://cruiseline.com/cruise/7-night-bahamas-florida-new-york-roundtrip-32860,我需要的是每个供应商的供应商名称和价格。除了所附图片是“检查”的截图。enter image description here
但是,类似的代码可以在下面的页面url('https://cruiseline.com/destination/caribbean/cruise/best?sort=rank,ship_status&&direction=desc&page=1&per_page=10&sailing_counts=0'中提取price)
^{pr2}$非常感谢你的帮助!在
我在scrapy shell中尝试了这个url:https://cruiseline.com/cruise/7-night-bahamas-florida-new-york-roundtrip-32860,但是我也没有得到任何关于
response.xpath("//div[contains(@class,'check-prices-widget-not-sponsored')]/a/div[contains(@class,'check-prices-widget-not-sponsored-link')]").extract()
然后我使用view(response)命令来计算蜘蛛看到了什么,发现这个网站是动态的,这意味着如果你想在那个网站上获取信息,你需要执行显示信息的js代码。在
以下是截图:
如你所见,你需要的信息不会显示出来。但是,这个https://cruiseline.com/destination/caribbean/cruise/best?sort=rank,ship_status&&direction=desc&page=1&per_page=10&sailing_counts=0是静态的,所以这就是为什么您可以刮取您需要的内容。在
我有两种方法让你抓取动态网站(当然,还有更多):
1.飞溅(Official Doc): 在你的蜘蛛中,用SplashRequest而不是恶心。请求. 在
2.硒+幻影(Official Doc)
祝你刮胡子好运!:)
相关问题 更多 >
编程相关推荐