无法使用scratchy提取完整的url@href



我正试图从amazon.in中提取产品的url。来源的a标签中的href属性如下所示:

href="/Parachute-Coconut-Oil-600-Free/dp/B081WSB91C/ref=sr_1_49?dchild=1&fpw=pantry&fst=as%3Aoff&qid=1588693187&s=pantry&sr=8-49&srs=9574332031&swrs=789D2F4EC1B25821250A55BFCB953F03"

Scrapy正在提取的是:

/Parachute-Coconut-Oil-Bottle-600ml/dp/B071FB2ZVT?dchild=1

我使用了以下xpath:

//div[@class="a-section a-spacing-none a-spacing-top-small"]//a[@class="a-link-normal a-text-normal"]/@href

这是我试图抓取的网站:
https://www.amazon.in/s?i=pantry&srs=9574332031&bbn=9735693031&rh=n%3A9735693031&dc&page=2&fst=作为%3Off&qid=1588056650&swrs=789D2F4EC1B25821250A55BFCB953F03&ref=sr_pg_2

如何使用Scrapy提取预期的url?

这被称为相对URL。要获得完整的URL,只需将其与基本URL组合即可。我不知道你的代码是什么,但试一下这样的代码。

half_url = response.xpath('//div[@class="a-section a-spacing-none a-spacing-top-small"]//a[@class="a-link-normal a-text-normal"]/@href').extract_first()
full_url = 'https://www.amazon.in/' + half_url

最新更新