python如何爬取href

python如何爬取href

作者:Rhett Bai发布时间:2026-01-06阅读时长:0 分钟阅读次数:20

用户关注问题

Q
如何使用Python获取网页中的所有链接?

我想从一个网页上提取所有的超链接,应该用哪些Python工具?

Q
怎样处理爬取到的相对路径链接?

爬取网页时,有的链接是相对路径,如何转换成完整的URL?

A

利用urljoin转换相对链接为完整URL

Python的urllib.parse模块提供了urljoin函数,可以将相对路径和基础URL拼接成完整的链接。示例代码如下:

from urllib.parse import urljoin

base_url = 'http://example.com/page/'
relative_link = '/about'
full_url = urljoin(base_url, relative_link)
print(full_url)  # 输出 http://example.com/about
Q
如何避免爬取链接时遇到403禁止访问错误?

有时候请求网页爬取链接时会返回403错误,有什么解决办法?

A

设置请求头模拟浏览器行为

在发送HTTP请求时,可以添加User-Agent等请求头,模拟浏览器访问,避免被网站拦截。示例如下:

import requests
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' 
                         '(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get('http://example.com', headers=headers)
print(response.status_code)