【问题标题】:unable to extract full url @href using scrapy无法使用 scrapy 提取完整的 url @href
【发布时间】:2020-05-06 02:01:20
【问题描述】:

我正在尝试从 amazon.in 中提取产品的 url。来自源代码的 a-tag 中的 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=as%3Aoff&qid=1588056650&swrs=789D2F4EC1B25821250A55BFCB953F03&ref=sr_pg_2

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

【问题讨论】:

    标签: python scrapy href screen-scraping


    【解决方案1】:

    这称为相对 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
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 2021-12-28
    • 2015-06-11
    • 1970-01-01
    相关资源
    最近更新 更多