【发布时间】:2017-09-24 12:56:34
【问题描述】:
我正在学习scrapy,目前正在玩它的外壳。作为一个简单的练习,我想从这个站点中提取可见的房间图像: https://www.gumtree.com/flats-houses/london。 开火后:
scrapy shell "https://www.gumtree.com/flats-houses/london"
我正在使用以下简单的命令来完成这项工作:
response.xpath("//div[@class='listing-side']/div[@class='listing-thumbnail']/img/@src").extract()
但是它返回一个包含 30 个元素的列表,其中 25 个值是空字符串。首先,我认为我的 xpath 一定有问题,所以我用 chromium 工具对其进行了测试,我必须说它就像一个返回完整图像 url 列表的魅力。一切如预期。但是为什么scrapy不这样做呢?
编辑:
抱歉,实际上在这个站点的情况下,要启动 shell 必须发出以下命令:
shell -s USER_AGENT="Mozila/5.0" "https://www.gumtree.com/flats-houses/london"
换句话说,必须指定用户代理。
【问题讨论】:
标签: python web-scraping scrapy