You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scrapy中从HTML的href获取完整嵌入式HTTP链接

解决Scrapy提取完整HTTP链接的问题
  • 方法一:使用response.urljoin()转换相对路径
    Scrapy内置的urljoin()方法会自动根据当前响应的基URL(response.url)拼接相对路径,避免手动拼接导致的重复路径问题。示例代码:

    # 提取相对路径
    relative_path = response.css('p.mb-0 a::attr(href)').get()
    # 转换为完整HTTP链接
    full_url = response.urljoin(relative_path)
    

    该方法能自动处理各类相对路径格式(无论开头是否带/),生成正确的绝对URL。

  • 方法二:通过response.follow()获取完整URL
    若后续需要请求该链接,可直接使用response.follow(),它会自动处理相对路径,同时可通过其url属性拿到完整链接:

    link_selector = response.css('p.mb-0 a')
    if link_selector:
        request = response.follow(link_selector)
        full_url = request.url
    

补充说明:浏览器中显示的完整链接是浏览器自动补全后的结果,实际网页源码中存储的就是相对路径,因此必须借助Scrapy的工具方法完成转换。

内容的提问来源于stack exchange,提问作者Michael Amos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:31:49