【问题标题】:I want to extract the url from the <a @href= '#' onclick="redirectpage(2);return false" >...</a>我想从 <a @href= '#' onclick="redirectpage(2);return false" >...</a> 中提取 url
【发布时间】:2019-11-18 11:17:38
【问题描述】:

我正在使用scrapy并传递SplashRequest,我想像往常一样从@href中提取url,但是当我检查href以获取实际url时,它没有分配我正在寻找的url,但是相反,我看到了“#”,然后当我将鼠标悬停在那个“#”上时,我可以看到我正在寻找的 url。

如何获取该网址然后使用 SplashRequest 关注它?

HTML 代码如下所示:-

<a @href= '#' onclick="redirectpage(2);return false" >Page 120</a>

当我将鼠标悬停在@href 上时,我看到了我正在寻找的网址,如下所示:=

https://example.com/page/120

【问题讨论】:

标签: python-3.x xpath web-scraping scrapy scrapy-splash


【解决方案1】:

获取 href/url 属性:

//div[@class='---']/a/@href

我相信这对任何页面都有效

【讨论】:

  • 当我使用 x-path 时,我得到的是 '#' 而不是 url
  • 这是我已经尝试过的 xpath,如下所示,但调试器返回 '#' 作为输出:- last_page_url = response.xpath("(//span[@class='showpageNum']/a)[last()-1]/@text()").extract_first()
【解决方案2】:

为了获取 URL,您应该使用一些动态数据获取方法, 单击特定 URL 并查看响应的 URL。

如果页面源中的内容不可用,则通过一些脚本动态加载。 我们应该这样处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 2011-03-28
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    相关资源
    最近更新 更多