7

Facebook がリンクを解析するために使用する機能を再現したいと考えています。Facebook のステータスにリンクを送信すると、そのシステムが表示され、提案された が取得されtitlesummary多くの場合、そのページから 1 つ以上imageの関連する が取得され、そこからサムネイルを選択できます。

私のアプリケーションは Python を使用してこれを達成する必要がありますが、これに関連するあらゆる種類のガイド、ブログ投稿、または他の開発者の経験を受け入れており、それを達成する方法を理解するのに役立ちます。

飛び込む前に、他の人の経験から学びたいと思っています。

明確にするために、Web ページの URL が与えられたときに、次のものを取得できるようにしたいと考えています。

  1. タイトル: おそらくただの<title>タグですが、おそらく<h1>.
  2. ページの 1 段落の要約。
  3. サムネイルとして使用できる関連画像の束。(トリッキーな部分は、バナーや丸みを帯びた角などの無関係な画像を除外することです)

自分で実装する必要があるかもしれませんが、少なくとも他の人がこの種のタスクをどのように行っているかを知りたいと思います.

4

2 に答える 2

2

BeautifulSoupは、これらのほとんどを実現するのに適しています。

基本的に、soupオブジェクトを初期化してから、次のようなことを行って、関心のあるものを抽出します。

title = soup.findAll('title')
images = soup.findAll('img')

url次に、使用方法に基づいて各画像をダウンロードできますurllib2

タイトルは非常にシンプルですが、関連する統計情報を取得するには各画像をダウンロードする必要があるため、画像は少し難しいかもしれません. おそらく、サイズと色の数に基づいてほとんどの画像を除外できますか? 例として、丸みを帯びた角は小さくなり、通常は 1 ~ 2 色しかありません。

ページの要約に関しては、それはもう少し難しいかもしれませんが、私は次のようなことをしています:

  1. BeautifulSoupを使用して、すべてのスタイル、スクリプト、フォーム、およびヘッド ブロックを から削除html.findAllます.extract
  2. 次を使用して残りのテキストを取得します。.join(soup.findAll(text = True))

"text"アプリケーションで、このコンテンツをページの要約として使用できますか?

これが役立つことを願っています。

于 2010-07-21T11:57:22.403 に答える