我知道有简单的方法来复制所有的url来源,但这不是我的任务。我需要完全保存所有文本(就像webbrowser用户复制它)到* .txt文件。如何在python中复制网址中的所有文本(例如[使用webbrowser [Ctrl + A] [Ctrl + C])?
为它解析源代码html是不可避免的,还是有更好的办法?
我知道有简单的方法来复制所有的url来源,但这不是我的任务。我需要完全保存所有文本(就像webbrowser用户复制它)到* .txt文件。如何在python中复制网址中的所有文本(例如[使用webbrowser [Ctrl + A] [Ctrl + C])?
为它解析源代码html是不可避免的,还是有更好的办法?
我认为这是不可能的,如果你根本不解析。我想你可以使用HtmlParser http://docs.python.org/2/library/htmlparser.html,只是保留数据标签,但你很可能会得到比你想要的许多其他元素。
与[Ctrl-C]完全一样,由于类似于style =“display:hidden;”会很难避免解析。这将隐藏文本,这将再次导致文档和资源文件的html,javascript和css的完全解析。
解析是必需的。不知道是否有库方法。一个简单的正则表达式:
text = sub(r"<[^>]+>", " ", html)
这需要很多改进,但这是一个起点。
使用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