Python爬虫如何处理页面中的相对链接

问题描述

今天采集一个网站爬虫的时候,网站a标签中都是使用的相对链接。我获取到链接后无法直接使用来作为下一次请求获取详情页面。

解决方法

为了将相对链接转换为绝对链接,我们可以使用 Python 的 urllib.parse 模块中的 urljoin 函数。这个函数可以将一个基础 URL(base URL)和一个相对 URL 合并成一个绝对 URL。

下面是一个示例代码,展示了如何使用 urljoin 函数将相对链接补充完整:

python 复制代码
from urllib.parse import urljoin  
  
# 页面完整链接  
base_url = "https://zjjcmspublic.oss-cn-hangzhou-zwynet-d01-a.internet.cloud.zj.gov.cn/jcms_files/jcms1/web3077/site/flash/tjj/Reports1/2023%E6%B5%99%E6%B1%9F%E7%BB%9F%E8%AE%A1%E5%B9%B4%E9%89%B4/indexcn.html"  
  
# 获取到的相对链接  
relative_url = "./cn/html/2-1 历年总户数和总人口数(年底数).html"  
  
# 使用 urljoin 将相对链接转换为绝对链接  
absolute_url = urljoin(base_url, relative_url)  
  
print(absolute_url)

运行这段代码后,absolute_url 变量将包含完整的 URL。这样你就可以使用这个完整的 URL 去获取你想要的数据了。

相关推荐
2501_948120151 小时前
深度学习在爬虫图片数据内容识别中的应用
人工智能·爬虫·深度学习
爱写bug的野原新之助1 小时前
协程爬虫案例: 王者荣耀英雄皮肤图片爬取
爬虫
煤炭里de黑猫1 小时前
Python爬虫开发实战指南:从基础到高级工具应用
人工智能·爬虫
深蓝电商API2 小时前
Selenium Grid分布式执行爬虫任务
爬虫·python·selenium
天天进步20152 小时前
生产级部署:如何结合 Docker 快速上线你的 Botasaurus 爬虫服务
爬虫·云原生
深蓝电商API3 小时前
Selenium结合Chrome DevTools协议加速爬取
爬虫·python·selenium·测试工具·chrome devtools
煤炭里de黑猫3 小时前
Python 爬虫进阶:利用 Frida 逆向移动端 App API 以实现高效数据采集
开发语言·爬虫·python
喵手18 小时前
Python爬虫零基础入门【第七章:动态页面入门(Playwright)·第3节】优先 API:用 Network 找接口,回到 Requests(更稳定)!
爬虫·python·playwright·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·优先 api
喵手20 小时前
Python爬虫零基础入门【第六章:增量、去重、断点续爬·第3节】幂等去重:同一条数据反复跑也不会重复入库!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·增量、去重、断点续爬·幂等去重
深蓝电商API20 小时前
Selenium多窗口切换与Cookie管理
爬虫·python·selenium·测试工具