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 去获取你想要的数据了。

相关推荐
常利兵1 小时前
Robots.txt:互联网爬虫世界的“隐形规则”
爬虫
PyHaVolask19 小时前
Python 爬虫进阶:直接请求 JSON 接口与开发者工具使用
爬虫·python·请求头·反爬·json接口·chrome开发者工具
shark22222221 天前
Python中的简单爬虫
爬虫·python·信息可视化
jarreyer1 天前
【爬虫】爬虫记录1
爬虫
亿牛云爬虫专家1 天前
解决 Python 爬虫代理 407 错误:基于 urllib3 更新与爬虫代理的实战指南-2
爬虫·python·爬虫代理·authentication·urllib3·407·base64 编码
泰迪智能科技011 天前
图书教材推荐|Python网络爬虫技术(第2版)(微课版)
开发语言·爬虫·python
NiKick1 天前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
码农很忙1 天前
从零到英雄:使用 Playwright 实现高效网页数据爬取与自动化测试
爬虫·python
ccice011 天前
python爬虫——爬取全年天气数据并做可视化分析
开发语言·爬虫·python
知识浅谈2 天前
Bright Data MCP + OpenCode 自动化数据采集实践
爬虫