Wax*_*lix 5 html python performance parsing beautifulsoup
目前我在键入这个时遇到了麻烦,因为根据top
我的处理器是100%而我的内存是85.7%,所有这些都被python占用.
为什么?因为我让它通过一个250兆字节的文件来删除标记.250美元,就是这样!我一直在使用许多其他模块和东西在python中操作这些文件; BeautifulSoup是第一个给我带来如此小的问题的代码.如何使用近4个RAM来操作250megs的HTML?
我发现(在stackoverflow上)并且一直在使用的单行是这样的:
''.join(BeautifulSoup(corpus).findAll(text=True))
Run Code Online (Sandbox Code Playgroud)
此外,这似乎删除了所有BUT标记,这与我想要做的相反.我确信BeautifulSoup也能做到这一点,但速度问题仍然存在.
有没有什么可以做类似的事情(删除标记,可靠地保留文本)并且不需要Cray运行?
Aco*_*orn 13
lxml.html的效率更高.
http://blog.ianbicking.org/2008/03/30/python-html-parser-performance/
看起来这会做你想要的.
import lxml.html
t = lxml.html.fromstring("...")
t.text_content()
Run Code Online (Sandbox Code Playgroud)
其他几个类似的问题:python [lxml] - 清理html标签
lxml.etree,element.text不返回元素的整个文本
您可能希望清除HTML以删除所有脚本和CSS,然后使用提取文本 .text_content()
from lxml import html
from lxml.html.clean import clean_html
tree = html.parse('http://www.example.com')
tree = clean_html(tree)
text = tree.getroot().text_content()
Run Code Online (Sandbox Code Playgroud)
(来自:删除python中的所有html?)
归档时间: |
|
查看次数: |
1153 次 |
最近记录: |