0

URL のすべてのソースをコピーする簡単な方法があることは知っていますが、それは私の仕事ではありません。すべてのテキスト (Web ブラウザーのユーザーがコピーするのと同じように) を *.txt ファイルに正確に保存する必要があります。

ソースコードのhtmlを解析するのはやむを得ないのでしょうか、それとももっと良い方法がありますか?

4

3 に答える 3

1

Python では、BeautifulSoupモジュールが HTML の解析に最適であり、一見の価値があります。Web ページからテキストを取得するには、次のような場合です。

#!/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
于 2013-05-07T18:23:19.280 に答える
1

全くパースしないと無理だと思います。HtmlParser http://docs.python.org/2/library/htmlparser.htmlを使用してデータタグを保持することもできると思いますが、必要以上に多くの要素を取得する可能性が高くなります。

[Ctrl-C] とまったく同じにすることは、style="display: hidden;" などの理由で解析を避けるのが非常に難しいでしょう。これにより、テキストが非表示になり、ドキュメントとリソース ファイルの両方の html、javascript、および css が完全に解析されます。

于 2013-05-07T18:12:25.733 に答える
1

解析が必要です。ライブラリメソッドがあるかどうかわかりません。簡単な正規表現:

text = sub(r"<[^>]+>", " ", html)

これには多くの改善が必要ですが、これは出発点です。

于 2013-05-07T18:08:53.803 に答える