問題タブ [html-content-extraction]

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 投票する
34 に答える
453886 参照

python - Python を使用して HTML ファイルからテキストを抽出する

Python を使用して HTML ファイルからテキストを抽出したいと思います。ブラウザからテキストをコピーしてメモ帳に貼り付けた場合と基本的に同じ出力が必要です。

不適切な形式の HTML で失敗する可能性のある正規表現を使用するよりも、より堅牢なものが必要です。多くの人が Beautiful Soup をすすめているのを見てきましたが、私はそれを使用する際にいくつか問題がありました。1 つは、JavaScript ソースなどの不要なテキストを拾い上げたことです。また、HTML エンティティを解釈しませんでした。たとえば、 ' を期待します。ブラウザーのコンテンツをメモ帳に貼り付けたかのように、テキストのアポストロフィに変換される HTML ソース内。

更新 html2textは有望に見えます。HTML エンティティを正しく処理し、JavaScript を無視します。ただし、プレーン テキストを正確に生成するわけではありません。プレーンテキストに変換する必要があるマークダウンを生成します。例やドキュメントはありませんが、コードはきれいに見えます。


関連する質問:

0 投票する
6 に答える
2148 参照

.net - HTML 画像プロパティを抽出するための RegEx

イメージ タグのすべてのプロパティを抽出するための RegEx パターンが必要です。

ご存知のように、世の中には不正な形式の HTML がたくさんあるため、パターンはそれらの可能性をカバーする必要があります。

私はこのソリューションを見てた:

私は次のようなものを思いつきます:

私が見逃している可能性や、より効率的な単純なパターンはありますか?

編集:
申し訳ありませんが、より具体的に説明します.NETを使用してこれを行っているため、サーバー側にあります。
私はすでに img タグのリストを持っています。あとはプロパティを解析するだけです。

0 投票する
4 に答える
2289 参照

asp.net - HTML から要素 ID 属性値を抽出する方法

サーバー コントロールの ASP.NET 自動命名のオーバーヘッドを解決しようとしています。何百ものネストされた ASP.NET コントロールからレンダリングされた 7,000 行の HTML を含むページがあります。その多くは、数百文字の長さの id / name 属性を持っています。

私が理想的に望むのは、「ctl00」で始まるすべての HTML 属性値をリストに抽出するものです。正規表現がどうあるべきかを知っていれば、Notepad ++の正規表現検索機能は完璧でしょうか?

例として、HTML が次の場合:
<input name="ctl00$Header$Search$Keywords" type="text" maxlength="50" class="search" />

出力を次のようにしたいと思います:
name="ctl00$Header$Search$
Keywords
" "

Id と Name の両方の属性に対処するために、Name ではなく Id を探して検索を再実行します (つまり、両方を同時に検索する必要はありません)。

最終的な出力は、ページ上のサーバー コントロールの数と、それぞれの名前の長さをリストする Excel レポートであり、おそらくコントロール タイプ別にソートされます。

0 投票する
2 に答える
236 参照

algorithm - RSSエントリをHTML本文にマップしますw。不正確な検索

この問題をどのように解決しますか?

あなたはブログのHTMLをスクレイピングしています。ブログのHTMLの一部はブログ投稿であり、一部は書式設定、サイドバーなどです。HTML内のどのテキストがどの投稿に属しているか(つまり、パーマリンク)を識別できるようにする必要があります。

私はあなたが何を考えているか知っています:あなたはただRSSを見て、HTMLを完全に無視することができます!ただし、RSSには非常に短い抜粋しか含まれていないか、興味のあるリンクが削除されていることがよくあります。同じページのHTMLとRSSを一緒に使用して、RSSの抜粋を本質的に無効にします。

RSSエントリは次のようになります。

HTMLのブログ投稿は次のようになります。

したがって、HTMLページには同じフィールドが含まれますが、パーマリンクの配置は事前にわかりません。フィールドは、ほとんどがHTMLと空白であるノイズテキストで区切られますが、「投稿者Johnny」などの追加のメタデータも含まれる可能性があります。 "または日付またはそのようなもの。以下で説明するように、テキストはHTMLとRSSでわずかに異なる場合もあります。

追加のルール/警告:

  • タイトルは一意でない場合があります。これはあなたが思っているよりも頻繁に起こります。私が見た例:「月曜日のまとめ」、「TGIF」など。
  • タイトルは空白のままにすることもできます。
  • RSSの抜粋もオプションですが、少なくとも空白以外の抜粋または空白以外のタイトルが必要であると想定しています。
  • RSSの抜粋には投稿コンテンツ全体が含まれている可能性がありますが、投稿本文の先頭の短い抜粋が含まれている可能性があります
  • パーマリンクは一意である必要があり、HTMLとRSSの両方で同じである必要があると想定します。
  • タイトルと抜粋および投稿の本文は、RSSとHTMLでわずかに異なる形式になっている場合があります。例えば:
    • RSSでは、タイトルまたは本文の内部のHTMLが削除されているか、HTMLページにHTMLが追加されているか(投稿本文の最初の文字を何かで囲むなど)、わずかに異なる形式になっている可能性があります。
    • テキストは、RSSではutf8であるのに対し、HTMLでは非ASCII文字は常にアンパサンドエンコーディングを使用してエンコードされるなど、わずかに異なる方法でエンコードされる場合があります。ただし、これは非ASCII文字がまれな英語のテキストであると想定してください。
    • 正しくエンコードされていないWindows-1252の恐ろしさがある可能性があります。これは、中引用符のような記号文字でよく発生します。ただし、ほとんどのテキストはASCIIであると想定しても問題ありません。
    • 特にタイトルでは、どちらの方向にもケースが折りたたまれている可能性があります。したがって、HTMLページではタイトルをすべて大文字にすることはできますが、RSSではできません。
  • RSSフィードとHTMLページのエントリ数は同じであるとは想定されていません。古いエントリが多かれ少なかれある可能性があります。両方に表示される投稿のみを取得することを期待できます。
  • RSSは遅れる可能性があります。RSSフィードにまだ表示されていない新しいエントリがHTMLページにある可能性があります。これは、RSSがFeedburnerを介してシンジケートされている場合に発生する可能性があります。繰り返しになりますが、RSSとHTMLの両方に表示される投稿のみを解決することが期待できます。
  • 投稿の本文は非常に短くても長くてもかまいません。

100%の精度は制約ではありません。ただし、精度が高いほど優れています。

さて、あなたはどうしますか?

0 投票する
9 に答える
73889 参照

iphone - iPhoneでHTMLを解析する

HTML解析にCまたはObjective-Cライブラリを推奨できる人はいますか?完全に検証されない厄介なHTMLコードを処理する必要があります。

そのようなライブラリは存在しますか、それとも正規表現を使用しようとする方がよいでしょうか?

0 投票する
5 に答える
2255 参照

python - PythonでHTMLに埋め込まれた固定形式のデータを解析する

Google の appengine API を使用しています

ウェブページを取得します。結果として

html コンテンツの文字列です (result.content 内)。問題は、解析したいデータが実際には HTML 形式ではないことです。そのため、python HTML パーサーを使用してもうまくいかないと思います。HTML ドキュメントの本文にあるすべてのプレーン テキストを解析する必要があります。唯一の問題は、urlfetch が HTML ドキュメント全体の単一の文字列を返し、すべての改行と余分なスペースが削除されることです。

EDIT: さて、私は別のURLを取得しようとしましたが、どうやらurlfetchは改行を削除しません.HTMLファイルをそのように提供したのは、解析しようとしていた元のWebページでした... 編集終了

ドキュメントが次のような場合:

urlfetch が取得した後、result.content は次のようになります。

HTML パーサーを使用しても body タグ間のデータは役に立たないので、正規表現を使用してデータを解析するつもりでしたが、ご覧のとおり、1 行の最後の部分が次の行の最初の部分と結合されます。 、そしてそれを分割する方法がわかりません。私は試した

しかし、結果のリストはすべて 1 つの要素だけでした。Google の urlfetch 関数には、改行を削除しないオプションがありません。

このデータを解析する方法はありますか? 多分私はそれを別の方法で取得する必要がありますか?

前もって感謝します!

0 投票する
5 に答える
80025 参照

.net - vb.netでHTMLをどのように解析しますか

vb.netでHTMLを解析する簡単な方法があるかどうか知りたいです。HTMLはXMLの厳密なサブセットではないことは知っていますが、そのように扱うことができれば素晴らしいと思います。VB.netでXMLのような方法でHTMLを解析できるものはありますか?

0 投票する
2 に答える
1361 参照

python - selectorgadget.comを使用したHTMLファイルの解析

美しいスープとセレクターガジェットを使用してWebサイトをスクレイプするにはどうすればよいですか。たとえば、私はWebサイト(newegg製品)を持っており、スクリプトでその製品のすべての仕様を返すようにします([仕様]をクリックします)。つまり、Intel、デスクトップ、......、2.4GHzです。 、1066Mhz、......、3年間限定。

セレクターガジェットを使用した後、文字列.descを取得します

これはどのように使用しますか?

ありがとう :)

0 投票する
5 に答える
4951 参照

c++ - HTML解析の正規表現を作成するにはどうすればよいですか?

HTMLパーサーの正規表現を作成しようとしています。

1つ以上のタグを含む特定の属性(例: <div>with )のhtmlタグを照合したい。正規表現はタグ全体(fromから)と一致する必要があります。私はいつも「メモリが使い果たされた」エラーを受け取るようです-私のプログラムはおそらく、見つけたすべてのタグを一致するものとして受け取ります。class="tab news selected"<a href><div></div>

Boost正規表現ライブラリを使用しています。