
python中如何取href
用户关注问题
如何在Python中提取网页的所有链接地址?
我想使用Python获取网页中所有的href链接,应该使用什么方法或库?
使用BeautifulSoup提取所有href链接
可以使用Python的BeautifulSoup库来解析HTML内容,然后通过查找所有带有href属性的标签来获取链接。示例代码如下:
from bs4 import BeautifulSoup
import requests
url = 'http://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
links = [a['href'] for a in soup.find_all('a', href=True)]
print(links)
如何从HTML字符串中用Python提取特定标签的href?
想从一段HTML代码中提取特定标签(例如a标签)的href属性,有什么简便的办法?
利用lxml库快速提取href属性
lxml是另一个强大的库,可以更加灵活快速地解析HTML文档。以下是一段示例代码:
from lxml import html
html_content = '''<html><body><a href='http://example.com'>Example</a></body></html>'''
tree = html.fromstring(html_content)
hrefs = tree.xpath('//a/@href')
print(hrefs)
Python中如何处理相对路径的href链接?
从网页中获取href后,如果链接是相对路径,应该怎么办才能拿到完整URL?
使用urljoin函数构建完整URL
当href是相对路径时,可以使用Python的urllib.parse模块中的urljoin函数,将基本URL与相对路径合并成完整URL。例如:
from urllib.parse import urljoin
base_url = 'http://example.com/folder/'
relative_url = '../page.html'
full_url = urljoin(base_url, relative_url)
print(full_url) # 输出 http://example.com/page.html