12

Web ページを解析し、そこから意味のあるコンテンツを抽出したいと考えています。意味があるとは、ユーザーがその特定のページで見たいと思っているコンテンツ (テキストのみ) (広告、バナー、コメントなどを除くデータ) を意味します。 read が保存され、それ以外は保存されません。

つまり、Readability と同じように機能するアプリケーションを構築する必要があります。( http://www.readability.com ) Web ページのこの有用なコンテンツを取得して、別のファイルに保存する必要があります。どうすればいいのかよくわかりません。

データ抽出のプロセスをオフラインで行う必要があるため、インターネットに接続してサーバーからデータを取得する必要がある API を使用したくありません。

私が考えることができる2つの方法があります:

  1. 機械学習ベースのアルゴリズムを使用します (このように: http://ai-depot.com/articles/the-easy-way-to-extract-useful-text-from-arbitrary-html/ )

  2. Web ページからすべての雑然としたものを十分に除去できる Web スクレーパーを開発します。

これを行う既存のツールはありますか?ボイラーパイプ ライブラリ ( http://code.google.com/p/boilerpipe/ ) に出会いましたが、使用しませんでした。使ったことある人いますか?それは満足のいく結果をもたらしますか?この種の Web スクレイピングを行う、特に PHP や Python で書かれた他のツールはありますか?

これを行うために独自のツールを作成する必要がある場合、それについて何を提案しますか?

解析を開始する前に、乱雑または不完全な HTML をクリーンアップする必要があるため、Tidy ( http://www.w3.org/People/Raggett/tidy/ ) や Beautiful Soup ( http: //www.crummy.com/software/BeautifulSoup/bs4/doc/ ) を実行します。

しかし、このステップの後にコンテンツを抽出する方法がわかりません。

PS。私はアマチュアであり、これを行うオープン ソース ツールを使用する準備ができており、PHP または Python で記述したコードに簡単に統合できる場合は、それが大好きです。または、自分でコードを書かなければならない場合は、そのような作業を以前に行ったことのある人に指導してもらいたいです! :) どうもありがとう!

4

2 に答える 2

11

Googleに「python readability」と入力しましたか?github にはかなり人気のある (200 人以上のフォロワー) ライブラリがあります。

https://github.com/bury/python-readability

さらに、「php readability」と入力すると、100 人のフォロワーがいますが、ほぼ 2 年間活動していない php があり ます https://github.com/feelinglucky/php-readability

そして最後に最も人気のある (350 以上の github フォロワー) は、ルビーの可読性ポート https://github.com/iterationlabs/ruby-readabilityです。

少なくとも、これら 3 つの異なるプロジェクトが Web ページの「重要な部分」の解析をどのように達成するかを見ることができます。

于 2012-12-09T20:46:26.607 に答える
3

html を使用できます。

import htql
page="..."
query="&html_main_text"

result=htql.query(page, query)
于 2012-12-09T22:32:34.530 に答える