【问题标题】:issues fetching href links from amazon website. xpath find many more href links than expected.从亚马逊网站获取 href 链接的问题。 xpath 找到比预期更多的 href 链接。
【发布时间】:2018-07-06 19:05:27
【问题描述】:

我正在尝试从下面的亚马逊网站收集每个视频的所有网址。

https://www.amazon.com/video-Prime/s?ie=UTF8&page=1&rh=n%3A2858778011%2Ck%3Avideo

我正在使用 scrapy shell 交互式地测试我的代码。 我开始像下面这样scrapy shell。我

scrapy shell 'https://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Dinstant-video&field-keywords=video&rh=n%3A2858778011%2Ck%3Avideo'

我的响应状态是 200。然后在 scrapy shell 中,我尝试使用 xpath 选择器提取所有视频 url,如下所示:

response.xpath("//ul[contains(@id, 's-results-list-atf')]/li//a/@href").extract()   

我得到的 href 链接比预期的要多。当我检查网页 html 时,这没有任何意义。该页面上有十个视频,每个视频只有一个 href 链接。我不明白为什么会这样。如果有人可以提供帮助,我将不胜感激。提前非常感谢。

【问题讨论】:

    标签: python html xpath web-scraping scrapy


    【解决方案1】:

    该页面上有十个视频,每个视频只有一个 href 链接。

    您确定您查看的是正确的页面吗?
    这是我在该页面上看到的第一个结果的屏幕截图,链接周围添加了边框。

    如您所见,此特定项目共有 9 个链接。

    看起来你必须让你的 xpath 更具体,所以它只捕获你想要的链接。

    【讨论】:

    • 谢谢。我知道了。你说的对。让我试着把它具体化。
    【解决方案2】:

    尝试使用 XPath 以仅匹配所需的链接

    //ul[@id="s-results-list-atf"]//a[h2]/@href
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2016-09-11
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-01
      相关资源
      最近更新 更多