使用Python解析HTML文档中的文本
我需要这样的使用Python解析HTML文档中的文本,python,html,parsing,Python,Html,Parsing,我需要这样的文本,我需要使用Python获取文本 我该怎么做?我对这类事情很陌生。我个人喜欢。Python有一个内置的html解析器模块 但我还是建议你(不要让这个看起来像史前时代的主页愚弄你,它是一个非常好的图书馆。) 或者,您也可以尝试一下,这也很不错。使用Python xml解析器的解决方案 >>> from xml.dom.minidom import parseString >>> parseString(foo).getElementsByTag
文本,我需要使用Python获取文本
我该怎么做?我对这类事情很陌生。我个人喜欢。Python有一个内置的html解析器模块
但我还是建议你(不要让这个看起来像史前时代的主页愚弄你,它是一个非常好的图书馆。)
或者,您也可以尝试一下,这也很不错。使用Python xml解析器的解决方案
>>> from xml.dom.minidom import parseString
>>> parseString(foo).getElementsByTagName("td")[0].firstChild.nodeValue
u'text I need to get'
使用BeautifulSOup的解决方案
>>> import BeautifulSoup
>>> BeautifulSoup.BeautifulSoup(foo).getText()
u'text I need to get'
使用HTMPParser的解决方案
>>> from HTMLParser import HTMLParser
>>> class MyHTMLParser(HTMLParser):
def handle_data(self, data):
print data
>>> MyHTMLParser().feed(foo)
text I need to get
使用正则表达式的解决方案
>>> import re
>>> re.findall("<.*?>(.*)<.*?>",foo)[0]
'text I need to get'
>>重新导入
>>>关于findall(“(*)”,foo)[0]
“我需要获取的文本”
试试这个
>>> html='''<td width='370' style='border-left: 1px solid #fff;'>text I need to get</td>'''
>>> from BeautifulSoup import BeautifulSoup
>>> ''.join(BeautifulSoup(html).findAll(text=True))
u'text I need to get'
>>>
html=''我需要获取的文本''
>>>从BeautifulSoup导入BeautifulSoup
>>>''.join(BeautifulSoup(html).findAll(text=True))
你的文字我需要得到'
>>>
此解决方案使用BeautifulSoup
如果未在系统上安装BeautifulSoup。您可以这样安装
sudo pip安装BeautifulSoup
您正在使用的是Django Framwork?相关的。谢谢你的回答,但是我不需要所有的文本,只需要特定的HTML之后的文本。我只需要特定HTML之后的文本,而不是所有的文本。