私はHTMLパーサーを作成しようとしていますが、テスト中に毎回ウェブサイトを照会したくないので、ウェブサイトをHTMLファイルとしてローカルに保存しました。私が使用して読み出すためにWebの代わりにローカルファイルからHTMLファイルを開くときに、そのHTMLファイルをデコードする方法は?
:
urltext = urllib.request.urlopen(urlfile).read().decode("utf-8")
ウェブサイトから直接、私は正しいstringtoの解析を取得するが、私は私のローカルPCからそれを開いたとき、間違ってデコードを持っているようだ:
<span id="line845"></span> </span><span><<span class="start-tag">h2</span> <span class="attribute-name">class</span>="<a class="attribute-value">article-title</a>"></span><span>
<span id="line846"></span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">headline-intro</a>"></span><span>Intro:</span><span></<span class="end-tag">span</span>></span><span> </span><span><<span class="start-tag">span</span> <span class="attribute-name">class</span>="<a class="attribute-value">headline</a>"></span><span>Main text</span><span></<span class="end-tag">span</span>></span><span></span><span></<span class="end-tag">h2</span>></span><span>
もともとは次のようになります:
<h2 class="article-title">
<span class="headline-intro">Intro:</span> <span class="headline">Main Text</span></h2>
私は間違っていますか?
ありがとう
ケヴ
メモ帳でファイルを手動で開くと、そのバージョンはどのように見えますか? –
gedit(または私はメモ帳にもあります)では、バージョンが間違っています。私がLibreオフィスでそれを開くと、それは問題ありません。 – Kev
ウェブサイトのソースコードを開いてlibre officeにコピーしてHTMLとして保存したようです。私は正しいですか?それは動作しません。 HTMLはプレーンテキスト形式であり、libre officeはリッチテキストファイル(フォント情報、テキストの色など)を作成します。あなたが見ている奇妙な「余分な」ものは、余分なリッチテキストフォーマットです。 –