pythonで抽出するアルゴリズムコンテンツを除くナビゲーション)からのHTMLページ

StackOverflow https://stackoverflow.com/questions/796490

質問

もちろんHTMLページを解釈可能な利用のpythonパーサが、私は驚いたことありそうにないから公解析スクリプトを抽出す意味のあるコンテンツを除くsidebars、ナビゲーション、等) からHTML doc.

私は推測でのようなものを収集部門は、P要素を確認し、最小限のテキストコンテンツから着実な実施というものをたっぷりだったので、当然、俺には今まで考えます。

役に立ちましたか?

解決

試しに 美しいスープ 図書館のためのブランド、。とても簡単な方法で情報を得るためのhtmlファイルです。

しようと総称抽出データからのウェブページがもった人材の育成が大切だと思いを書きページについても同様に...がほとんど無数の方法を伝えるページのうちろんすべてのconbinationsいを伝えると同じ情報です。

したが特定の種類の情報が引き出そうとしている今やその他の終了を目標としていますか。

きみを抽出するコンテンツ'div"と"p"のマーカーと比較して相対的なサイズのすべての情報のページです。問題はこうグループ情報を収'div、'pの少なくともいだけでなく、書きされてhtml!).

その場合を形成のツリーをどのように情報を関連(ノードは'p'は'divなど、各ノードに関連するテキスト)ができるようにな何らかの分析を最小に'p'は'div"とencompasesように見えることの多くの情報を..?

[編集] ばれることができ、ツリー構造I示唆され、その後は同様のポイントシステムに迷惑メール暗殺者.定義は一定の規則に従しようという分類します。例:

+1 points for every 100 words
+1 points for every child element that has > 100 words
-1 points if the section name contains the word 'nav'
-2 points if the section name contains the word 'advert'

また多くの低得点のルール加だより該み、いというのは進化はかなり強力に。

[EDIT2] 見て読みやすされているそうでっかいで!かすみやかテーブルいいですか?

他のヒント

templatemakerを見てください: http://www.holovaty.com/writing/templatemaker/

これは、ジャンゴの創始者の一人によって書かれています。基本的には、いくつかの例のhtmlファイルを送り、それはあなたがして(通常は意味のある内容である)が異なるだけのビットを抽出するために使用できる「テンプレート」を生成します。

ここで Google Codeのページからの例です。


# Import the Template class.
>>> from templatemaker import Template

# Create a Template instance.
>>> t = Template()

# Learn a Sample String.
>>> t.learn('<b>this and that</b>')

# Output the template so far, using the "!" character to mark holes.
# We've only learned a single string, so the template has no holes.
>>> t.as_text('!')
'<b>this and that</b>'

# Learn another string. The True return value means the template gained
# at least one hole.
>>> t.learn('<b>alex and sue</b>')
True

# Sure enough, the template now has some holes.
>>> t.as_text('!')
'<b>! and !</b>'

あなたはその場でコンテンツを取得し、抽出する boilerpipe Webアプリケーションを使用する場合があります。

(あなただけのGoogle AppEngineの上のページへのHTTP GETリクエストを発行する必要があり、これは、Pythonの固有ではありません)。

乾杯、

クリスチャン

どのような意味があるとないもの、それはページの意味に依存します。セマンティクスが安っぽいある場合は、あなたのコードは意味のあるものを「推測」しません。私はあなたのコメントにリンクされ、読みやすさを、使用しており、私は多くのページで、私はそれがまともな1話ではない、任意の結果を提供していません読みしてみていることがわかります。

誰かがテーブル内のコンテンツを置く場合、あなたは運命です。あなたは私が何を意味するかわかりますphpbbのフォーラムに読みやすさを試してみてください。

あなたがそれをしたい場合は、

<p></p>上の正規表現で行く、またはDOMを解析します。

グース は、図書館のためこの課題です。このREADMEファイル:

グースへのエキスは、以下の情報:

  • 本文の記事
  • メインの画像の記事
  • 任意Youtube/Inter-映画に込め記事
  • メタ説明
  • メタタグ
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top