我正在尝试从亚马逊产品页面提取一些数据。
我正在寻找的是从产品中获取图像。例如:
通过使用XPath
//script[contains(., "ImageBlockATF")]/text()
我得到了包含网址的源代码部分,但是chrome XPath帮助器中弹出了2个选项。
通过使用XPath进行尝试,我最终使用了这个:
//*[contains(@type, "text/javascript") and contains(.,"ImageBlockATF") and not(contains(.,"jQuery"))]
谁专门给我我需要的数据。
我遇到的问题是,对于某些产品(可能会在两双不同的鞋子内发生),有时我可以提取数据,而有时却什么也没有。我这样做是提取
:imagenesString = response.xpath('//*[contains(@type, "text/javascript") and contains(.,"ImageBlockATF") and not(contains(.,"jQuery"))]').extract()
如果我使用chrome xpath帮助器,则数据始终与上面的xpath一起出现,但是在程序本身中有时会出现,有时却不会出现。我知道有时控制台读取的脚本与网站上显示的脚本不同,但是我为此感到苦恼,因为有时它可以工作,有时却不起作用。关于可能发生的事情有什么想法吗?
答案 0 :(得分:1)
我想我找到了您的问题:验证码。
请按照以下步骤进行复制:
scrapy shell https://www.amazon.com/gp/product/B072L7PVNQ?pf_rd_p=1581d9f4-062f-453c-b69e-0f3e00ba2652&pf_rd_r=48QP07X56PTH002QVCPM&th=1&psc=1
view(respone)
执行此操作时,有时会出现验证码。 希望这能为您指明正确的方向。
欢呼