問題タブ [html5lib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1119 参照

python - BeautifulSoup (bs4)、html5lib、HTMLParseError: 不正な形式の開始タグ、1 行目、11 列目

URLから直接解析してもすべてのページ要素がキャプチャされないため、ソースコードをWebサイトからローカルに保存されたhtmlファイルにコピーする必要があります。ソースコードのテーブル内の位置要素を抽出して、ジオコーディングに使用したいと考えています。私のプログラムは検索結果のいくつかのページを調べ、それぞれのソース コードをローカルに保存されている html ファイルに書き込みます。住所要素は各ページの素材の約 3 分の 1 にすぎないため、ファイル サイズを小さくするために追加の要素を削除するとよいでしょう。

これを行うには、書き込み用に空白の html ドキュメントを開き、現在のページのソース コードを書き込み、ドキュメントを閉じ、解析用に再度開き (今は 'r' モードで)、書き込み用に新しいドキュメントを開きます。 、美しいスープを使用して、最初のドキュメントからすべてのジオコーディング データを取得し、それを新しいドキュメントに書き込みます。次に、プログラムは最初のドキュメントを閉じてから、再び「w」モードで開きます。

これはループで行われるため、最初のドキュメントは常に現在のページのソース コードで上書きされますが、2 番目のドキュメントは開いたままになり、ページがなくなるまでジオコーディング データだけが書き込まれます。

ソースコードのループ、ナビゲート、およびファイルへの書き込みはすべて正常に機能していますが、解析部分を理解できません。このコードを使用して、インタラクティブな環境で実験してみました:

そして、次のエラーが表示されます。

そこで、次の修正を試みました。

そして悲しいかな:

私もlxml、ertreeで試しましたが、何もうまくいかないようです。URLから直接解析する必要がある要素を取得できません。html ファイルから解析する必要があります。

0 投票する
0 に答える
52 参照

python - すべての美しいスープ python を見つけるパーサーはありません

本文に単体テスト結果を含む html ファイルの簡単な解析を試みています

これから得られる最善の方法は、lxml と html5lib を使用したテキストの 1 つのインスタンス (50 に近い場合) です。他のパーサーは何も見つけません。壊れたhtmlを回避できる方法はありますか?

体の例はこれです

********* LogLevelTypeTest のテストが完了しました *********
********* AppLoggerConfigTest のテストを開始します *********
設定: QTest ライブラリ 4.8 を使用します.1、Qt 4.8.1
PASS : initTestCase
PASS : testSetFromEnvironment
PASS : cleanupTestCase
合計: 3 合格、0 失敗、0 スキップ

Htmlはこんな感じ