これは、Webスクレイピングの問題です。<table>
aがレイアウトに使用されているのか、これまでに見たことのないHTMLドキュメントのデータに使用されているのかを自動的に判断するための認識されているアプローチは何ですか?
HTMLページ内のすべてのデータテーブルを吐き出す関数に文字列として任意のHTMLファイルを渡せるようにしたいのですが、純粋にレイアウトに使用されるテーブルは無視します。ただし、http://news.ycombinator.com/newcommentsのようなサイトでは、レイアウトにHTMLテーブルを使用しているため、注意が必要です。
この関数は、特定のWebサイトのDOM構造に合わせて調整するべきではないため、任意のHTML文字列で機能する必要があります(または可能な限り高い成功率を持つ必要があります)。
レイアウトテーブルとデータテーブルを区別できる、人々が長年にわたって理解してきたアルゴリズム/チェックはありますか?それは可能であるはずです、それはすべての変数と試行/エラーを書き留めるだけの問題です-私は多くの人々がすでにどこかに計画を立てていると思います。
私は必ずしも関数を必要としません(それは素晴らしいでしょうが、それは多くの微調整を必要とするだろうと思います)。いくつかの試みられた戦略を探しているだけです。
アップデート
これが良いスタートです(@JaredFarrishに感謝します):
- Web上でのテーブル検出のための機械学習ベースのアプローチ
- キーワード:テーブル検出、レイアウト分析、機械学習、ディシジョンツリー、サポートベクターマシン、情報検索