我想在这里找到一个文字" 文字标题"在下面的脚本中:
<h1 class="titleClass" itemprop="name">
Text title here
<a class="titleLink" href="somelink-here.html">
text link here
</a>
</h1>
我使用python beautifulsoup。
答案 0 :(得分:1)
您可以获取整个h1
标记,然后按如下方式提取所有链接:
from bs4 import BeautifulSoup
html = """<h1 class="titleClass" itemprop="name">
Text title here
<a class="titleLink" href="somelink-here.html">
text link here
</a>
</h1>"""
soup = BeautifulSoup(html)
p = soup.find('h1', attrs={'class': 'titleClass'})
p.a.extract()
print p.text.strip()
这会显示:
Text title here
答案 1 :(得分:0)
您可以使用正则表达式和BeautiFulSoup的组合:
import re
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'lxml')
for link in soup.find_all('a', string=re.compile(r'^text link')):
print link
这将找到以text link
开头的所有链接。
答案 2 :(得分:0)
导航至<h1>
并从.stripped_strings
生成器获取第一个字符串:
>>> from bs4 import BeautifulSoup
>>> next(BeautifulSoup(html).select_one('h1.titleClass').stripped_strings)
'Text title here'