BeautifulSoup的find_all('href')方法返回的是标签中所有包含href属性的元素,而不是值的一部分。如果你只想获取href属性的值的一部分,可以使用正则表达式来提取所需的部分。
以下是一个示例代码,演示如何使用正则表达式来提取href属性值的一部分:
import re
from bs4 import BeautifulSoup
html = '''
Link 1
Link 2
Link 3
'''
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a')
for link in links:
href = link.get('href')
# 使用正则表达式提取href属性值的一部分
match = re.search(r'https://example.com/(.+)', href)
if match:
partial_value = match.group(1)
print(partial_value)
在上面的代码中,我们使用正则表达式r'https://example.com/(.+)
来匹配https://example.com/后面的任意字符,并使用match.group(1)
来获得匹配的部分。
运行上面的代码将输出:
page1
page2
page3
这样你就可以根据自己的需求提取href属性值的一部分。