我知道有一种简单的方法可以复制所有网址来源,但这不是我的任务。我需要将所有文本(就像webbrowser用户复制它)完全保存到* .txt文件中。
为它解析源代码html是不可避免的,还是有更好的方法?
答案 0 :(得分:1)
需要解析。不知道是否有库方法。一个简单的正则表达式:
text = sub(r"<[^>]+>", " ", html)
这需要很多改进,但这是一个起点。
答案 1 :(得分:1)
我认为如果你根本不解析就不可能。我想你可以使用HtmlParser http://docs.python.org/2/library/htmlparser.html并保留数据标签,但你很可能会获得许多其他元素而不是你想要的。
要与[Ctrl-C]完全相同,因为诸如style =“display:hidden;”之类的东西会很难避免解析这将隐藏文本,这将再次导致完整解析文档和资源文件的html,javascript和css。
答案 2 :(得分:1)
使用python,BeautifulSoup模块非常适合解析HTML,非常值得一看。要从网页获取文本,只需要一个案例:
#!/usr/env python
#
import urllib2
from bs4 import BeautifulSoup
url = 'http://python.org'
html = urllib2.urlopen(url).read()
soup = BeautifulSoup(html)
# you can refine this even further if needed... ie. soup.body.div.get_text()
text = soup.body.get_text()
print text