【发布时间】:2016-11-03 00:31:34
【问题描述】:
假设我有一个这样的链接:
link = '<a href="some text">...</a>'
有什么方法可以从锚点 href 属性中检索文本,所以结果将是这样的:
hrefText = 'some text'
提前谢谢你
【问题讨论】:
假设我有一个这样的链接:
link = '<a href="some text">...</a>'
有什么方法可以从锚点 href 属性中检索文本,所以结果将是这样的:
hrefText = 'some text'
提前谢谢你
【问题讨论】:
这是一种方式:
import re
print re.search('(?<=<a href=")[^"]+',link).group(0)
或者,
print re.search(r'<a\s+href="([^"]+)',link).group(1)
【讨论】:
虽然您可以拆分或使用正则表达式,但对于更模块化和强大的工具集,您可以使用
示例代码:
from bs4 import BeautifulSoup
link = '<a href="some text">...</a>'
soup = BeautifulSoup(link, "html.parser")
for anchor in soup.find_all('a', href=True):
print anchor['href']
或者,对于单个函数,您可以这样做:
from bs4 import BeautifulSoup
def getHref( link ):
soup = BeautifulSoup(link, "html.parser")
return soup.find_all('a', href=True)[0]['href']
【讨论】:
您可以使用 bs4 并为此请求 lib。
import requests
from bs4 import BeautifulSoup
url = 'https://examplesite.com/'
source = requests.get(url)
text = source.text
soup = BeautifulSoup(text, "html.parser")
for link in soup.findAll('a', {}):
href = '' + link.get('href')
title = link.string
print("hrefText = ", href)
希望这会有所帮助:)
【讨论】: