問題タブ [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.
python - BeautifulSoup (bs4)、html5lib、HTMLParseError: 不正な形式の開始タグ、1 行目、11 列目
URLから直接解析してもすべてのページ要素がキャプチャされないため、ソースコードをWebサイトからローカルに保存されたhtmlファイルにコピーする必要があります。ソースコードのテーブル内の位置要素を抽出して、ジオコーディングに使用したいと考えています。私のプログラムは検索結果のいくつかのページを調べ、それぞれのソース コードをローカルに保存されている html ファイルに書き込みます。住所要素は各ページの素材の約 3 分の 1 にすぎないため、ファイル サイズを小さくするために追加の要素を削除するとよいでしょう。
これを行うには、書き込み用に空白の html ドキュメントを開き、現在のページのソース コードを書き込み、ドキュメントを閉じ、解析用に再度開き (今は 'r' モードで)、書き込み用に新しいドキュメントを開きます。 、美しいスープを使用して、最初のドキュメントからすべてのジオコーディング データを取得し、それを新しいドキュメントに書き込みます。次に、プログラムは最初のドキュメントを閉じてから、再び「w」モードで開きます。
これはループで行われるため、最初のドキュメントは常に現在のページのソース コードで上書きされますが、2 番目のドキュメントは開いたままになり、ページがなくなるまでジオコーディング データだけが書き込まれます。
ソースコードのループ、ナビゲート、およびファイルへの書き込みはすべて正常に機能していますが、解析部分を理解できません。このコードを使用して、インタラクティブな環境で実験してみました:
そして、次のエラーが表示されます。
そこで、次の修正を試みました。
そして悲しいかな:
私もlxml、ertreeで試しましたが、何もうまくいかないようです。URLから直接解析する必要がある要素を取得できません。html ファイルから解析する必要があります。
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はこんな感じ