Scrapy不是从某一个的XPath提取数据

问题描述 投票:1回答:1

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

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

https://www.amazon.com/gp/product/B072L7PVNQ?pf_rd_p=1581d9f4-062f-453c-b69e-0f3e00ba2652&pf_rd_r=48QP07X56PTH002QVCPM&th=1&psc=1

通过使用XPath

//script[contains(., "ImageBlockATF")]/text()

我得到包含的网址源代码的一部分,但2个选项中铬的XPath助手弹出。

通过不断尝试新东西出来与XPath的我最终使用这样的:

//*[contains(@type, "text/javascript") and contains(.,"ImageBlockATF") and not(contains(.,"jQuery"))]

这使我完全我需要的数据。

我遇到的问题是,对于某些产品(它可以2对不同的鞋子内发生的)有时我可以提取数据和其他时间没有出来。我解压做:

imagenesString = response.xpath('//*[contains(@type, "text/javascript") and contains(.,"ImageBlockATF") and not(contains(.,"jQuery"))]').extract()

如果我使用Chrome的XPath帮手,数据总是与上面的XPath的出现,但在程序本身有时出现,有时没有。有时我知道控制台读取比出现在网站上,但我这一个挣扎的不同,因为有时它的工作原理剧本,有时没有。什么任何想法可以怎么回事?

python-3.x xpath scrapy
1个回答
1
投票

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

请按照以下步骤重现:

1. run 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 like scrapy

view(respone)

当执行这个我有时会得到一个验证码。希望这点你在正确的方向。

干杯

© www.soinside.com 2019 - 2024. All rights reserved.