因此,我的代码从URL检索HTML文件并将其另存为文本文档。
urllib.urlretrieve("http://www.testlink.com", "example.txt")
retrieve = open("example.txt", "r")
然后,我希望它从包含关键字的行中提取特定文本。该字符串如下所示:
<b class="whb">This is the text I want to retrieve</b> This is additional text that I don't want.
目前,我的代码显示ENTIRE行,如下所示:
for line in retrieve.readlines():
if '<b class="whb">' in line:
print line
如何指定要打印的行的哪一部分?我想要介于b class =“ whb”和/ b之间的内容。
谢谢你。
正如我在评论中所说,我将使用BeautifulSoup。这是一个小例子:
from bs4 import BeautifulSoup
html_doc = "<b class='whb'>This is the text I want to retrieve</b> This is additional text that I don't want."
soup = BeautifulSoup(html_doc, 'html.parser')
print soup.b.text
如果您有一个html_doc
带有多个<b>
标签的较大HTML文档,则可以将最后一行替换为:
print soup.find("b", {"class":"whb"}).text
如果html_doc
有多个<b class='whb'>
选项卡,而您想全部使用,则使用findAll()
:
all_bs = [b.text for b in soup.findAll("b", {"class":"whb"})]
BeautifulSoup是功能强大的功能强大的网络抓取工具。请阅读文档以找到您在特定情况下需要的东西。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句