2016-07-12 13 views
1

私はHTMLパーサーを作成しようとしていますが、テスト中に毎回ウェブサイトを照会したくないので、ウェブサイトをHTMLファイルとしてローカルに保存しました。私が使用して読み出すためにWebの代わりにローカルファイルからHTMLファイルを開くときに、そのHTMLファイルをデコードする方法は?

urltext = urllib.request.urlopen(urlfile).read().decode("utf-8") 

ウェブサイトから直接、私は正しいstringtoの解析を取得するが、私は私のローカルPCからそれを開いたとき、間違ってデコードを持っているようだ:

<span id="line845"></span>       </span><span>&lt;<span class="start-tag">h2</span> <span class="attribute-name">class</span>="<a class="attribute-value">article-title</a>"&gt;</span><span> 
<span id="line846"></span>           </span><span>&lt;<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">headline-intro</a>"&gt;</span><span>Intro:</span><span>&lt;/<span class="end-tag">span</span>&gt;</span><span> </span><span>&lt;<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">headline</a>"&gt;</span><span>Main text</span><span>&lt;/<span class="end-tag">span</span>&gt;</span><span></span><span>&lt;/<span class="end-tag">h2</span>&gt;</span><span> 

もともとは次のようになります:

<h2 class="article-title"> 
              <span class="headline-intro">Intro:</span> <span class="headline">Main Text</span></h2> 

私は間違っていますか?

ありがとう

ケヴ

+0

メモ帳でファイルを手動で開くと、そのバージョンはどのように見えますか? –

+0

gedit(または私はメモ帳にもあります)では、バージョンが間違っています。私がLibreオフィスでそれを開くと、それは問題ありません。 – Kev

+0

ウェブサイトのソースコードを開いてlibre officeにコピーしてHTMLとして保存したようです。私は正しいですか?それは動作しません。 HTMLはプレーンテキスト形式であり、libre officeはリッチテキストファイル(フォント情報、テキストの色など)を作成します。あなたが見ている奇妙な「余分な」ものは、​​余分なリッチテキストフォーマットです。 –

答えて

3

あなたは間違ってHTMLファイルをダウンロードし、それを開くあなたの方法は正しい見えます。

ブラウザにWebページのソースコードを開いて、そのファイルをLibre Officeにコピーして貼り付け、Libre Officeの「HTMLとして保存」機能を使用したようです。 HTMLはプレーンテキストのマークアップ形式であり、Libre Officeはリッチテキストワードプロセッサであるため、Libre Officeはフォント、サイズ、色、テコ、イメージなどの情報をファイルに保存するため、これは機能しません。

Libre Officeの[名前を付けて保存]機能は、通常のドキュメントをWebページに変換するためのもので、ドキュメントに入力したHTMLマークアップを保存しません。

文書を適切な方法でダウンロードするには、ブラウザの「保存」機能をご利用ください。ほとんどのブラウザでは、をCtrl/Cmd + と押すだけです。終了したら、メモ帳、Gedit、またはテキストエディットなどのプレーンテキストエディタでファイルを開き、期待どおりに表示されるようにします。

関連する問題