DOMベースの本文抽出を書いてみた

本文抽出とは

本文抽出とは、Webページからごみを取り除き、本文のみを取得することです。 Webページというのはゴミだらけで、なかなか簡単には本文だけを取り出すことができません。 ごみとは、例えば広告などで、本質的にそのページにとって関係ないもののことです。

最近は、ページのコンテンツだけを抜き出して読みやすくするためのサービスもあります。代表的なものは、readabilityでしょうか。広告などの余計なコンテンツを取り除くことで、可読性を高めることを目指したサービスです。

最近、ニュースサイトを作るにあたっていろいろと情報とってきてるんですが、分析に非常に有益でない文字列がWebサイトには大量に含まれており、イラッ☆としたので適当な手法を見つけてきて作ってみました。

本文抽出の方法

特定のページの本文を抽出する方法として代表的なものには、次のようなものがあります。

これらの方法は、一長一短なのですが、たいていよく機能しますしそれぞれに特徴がありますが、説明割愛。

DOMベースの本文抽出

基本的には、DOM Based Content Extraction via Text Densityのbindingを書いたよにある方法と全く同一です。 元論文を読んでみると、手法がシンプルであるのと、性能が割といい(F値が95%とか)ので「これはいい!」って感じでした。

手法自体も割と直観に近い特徴を使っていてすっきりとしています。文字列とタグの数の割合をもとに、本文らしい部分のタグを抽出しています。 この特徴のいいところは、言語に非依存であるところで、どんなページにも適用できるところです。

とりあえず作ってみた

とりあえず、動くものかいてみようというのでさらさらーっと書いてみました。 pythonはNumPyを使うためにしか書いたことがないので、なんかこう書いたらいいとかあったらコメントください。

beautiful soupが必要です。

https://github.com/harajune/ContentExtractor

動かしてみた結果

ところどころ怪しいですが、なかなかいい感じです。 うまくいったところだけ掲載(笑)

NEC、標的型攻撃を受けているか調べるサービスを開始2012/01/16日川 佳三=ITproNECは2012年1月16日、企業が標的型攻撃の被害を受けているかどうかを診断するサービス「標的型攻撃検査サービス」を開始した。ツールを用いてマルウエアの存在を調査し、対処方法などをレポートする。価格は、検査するPCやサーバーが100台(マルウエア検体判定30ファイル分を含む)の場合で330万円(税別)を予定する。標的型攻撃検査サービスは、業務担当者のクライアントPCやサーバー機など、情報漏えいリスクが高い重要なWindowsコンピュータを対象に、マルウエアに感染していないかどうかを調査するサービスである。特定の企業をピンポイントで狙い撃つ攻撃で、パターンマッチングでは検出できない新規のマルウエアをメールなどで送り込む“標的型攻撃”の痕跡を調べられる。サービスの具体的な利用方法は、以下の通り。サービスを利用するユーザー企業は、NECが提供するデータ収集サーバーソフトを、企業内の1台のPCに導入する。ここから、調査対象となるPCに、マルウエア検知プログラムを送り込む。マルウエアを含むファイルが存在するかどうかをスキャンし、収集したスキャン結果を、NECに提出する。NECは、3〜4日でスキャン結果を分析し、疑わしいファイル(検体)の提出/分析などの工程を経て、最終的に報告書を作成してレポートする。なお、調査対象PC上にマルウエアを含むファイルが存在するかどうかを調べる仕組みとして、NECが2010年6月に提供を開始したサービス「インシデント可視化ソリューション」の技術を採用している。特徴は、パターンマッチングでは検出できない、標的型攻撃で用いられる新規のマルウエアを、ヒューリスティック(振る舞い検知)に検出する点である。ベースとなる技術として、フォティーンフォティ技術研究所が開発した標的型攻撃検知ソフト「Yarai」を利用する。

http://itpro.nikkeibp.co.jp/article/NEWS/20120116/378602/

Twitter打刻”が可能な勤怠管理システム「ICタイムリコーダー」新版株式会社オープントーンは16日、クラウド型勤怠管理システムの新版「ICタイムリコーダー Ver5.0」を発表した。ICタイムリコーダーは、Webブラウザ・モバイル・IC打刻に対応する勤怠管理システム。入力された勤怠情報はデータセンターで集約管理され、集計・CSV出力などの管理をWebブラウザから一括して行える。新版では、勤怠管理の基本機能を強化したほか、Twitterの位置情報を利用した打刻機能、簡単有休管理機能、安否確認機能などを追加した。Twitter打刻では、モバイルデバイスからのツイート時に付与されるGPS情報を利用。登録された緯度・経度より約50m以内で投稿されたツイートが出退勤の打刻として登録される。有給休暇管理機能では、入社年月日基準・年度基準を問わず現在の有給休暇の残日数を登録するだけで簡単に有休管理を実現する。安否確認機能では、有事の際の従業員への一斉メール作成支援機能や状況確認機能が利用可能。社員へのアンケート調査などにも利用できるという。そのほか、Windows 7 64ビット版に対応した。価格は月額150円(税別)/人。1カ月間無料のトライアル版も提供する。関連情報URL(川島 弘之)2012/1/16 16:04Copyright (c) 2012 Impress Watch Corporation, an Impress Group company. All rights reserved.

http://cloud.watch.impress.co.jp/docs/news/20120116_504964.html

以下の例では、コメントも取れてますね。

投稿日時:2012 年 11 月 30 日開発者泣かせの問題児ブラウザ、Internet Explorerですが、IE5.5、IE6、IE7、IE8をモダンブラウザの挙動にする神JSがCodeで配布されていました。とりま、 attripのデザイン崩れはこれで解決できました!使い方は簡単!下記のコードを貼り付ければOK!まじ仏。>!–lt IEscript src”http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js”>/script<script src”http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js”>/script<endif「IE9.js」は、IEを普通のモダンブラウザの挙動にするJSです。IE5、IE6でも透過PNGが使えるようになります。「css3-mediaqueries.js」は、IEでCSS3 Media Queriesを使えるようにするJS。レスポンシブデザインのサイトをIEでも見れるようにします。ちなみに、border-radiusや、box-shadowはできませんでした。あと、IEでの見え方をチェックする方法はこちら↓↓参考サイト:この記事を書いたよーいちにいいね!よろしく!: 名前:名無しのアルパカ:2012/4/20(木) 04:20:00 ID:ARPaCAaTT: 名前:名無しのアルパカ:2012/12/1(土) 03:12:58 ID:MjA2MDQ4M4行じゃねーか!: 名前:名無しのアルパカ:2012/12/1(土) 11:52:01 ID:MTg2Nzk4N条件分岐は許してちょ(_ _): 名前:名無しのアルパカ:2012/12/1(土) 12:47:48 ID:MTc5MDc4NCSS書き分けるのめんどいのでこれは助かる: 名前:名無しのアルパカ:2012/12/1(土) 20:20:44 ID:MzcwMTMzNこういう記事マジでやめてほしい: 名前:名無しのアルパカ:2012/12/1(土) 21:55:29 ID:MTc5MDc4Nなんで?メールで購読が、便利です。下記にメールアドレスを入力すると。無料でメルマガ届きます。無料で一日分をまとめて読めます。100人ぐらいが登録してます。Facebookコメント<<

http://attrip.jp/78616