Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python解析HTML文档中的文本_Python_Html_Parsing - Fatal编程技术网

使用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之后的文本,而不是所有的文本。