Scrapy没有从某个xpath中提取数据

时间:2019-02-04 22:12:50

标签: python-3.x xpath scrapy

我正在尝试从亚马逊产品页面提取一些数据。

我正在寻找的是从产品中获取图像。例如:

enter image description here

通过使用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一起出现,但是在程序本身中有时会出现,有时却不会出现。我知道有时控制台读取的脚本与网站上显示的脚本不同,但是我为此感到苦恼,因为有时它可以工作,有时却不起作用。关于可能发生的事情有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我想我找到了您的问题:验证码。

请按照以下步骤进行复制:

1。运行scrapy shell

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

2。 view response像刮y的东西

view(respone)

执行此操作时,有时会出现验证码。 希望这能为您指明正确的方向。

欢呼