トレーニングなしで任意の検索クエリ出力で機能する特効薬アルゴリズムが存在するとは思えません。
ただし、このタスクは解決可能であり、実際には多くのアプリケーションで解決されていますが、アプローチは異なります。最初に、実際に何をしようとしているかに基づいて、単一の検索結果アイテムの一般的な構造を定義する必要があります (名前、日付、リンク、説明スニペットなど)。次に、必要な抽出を行う HTML パーサーの数を記述します。特定の Web サイトの検索結果出力から必要なフィールド。
私はそれが非常にセクシーな解決策ではないことを知っていますが、おそらくそれが機能する唯一のものです. そしてそれはロケット科学ではありません。パーサーの作成は、実際には非常に簡単で、1 日に数十個作成できます。検索結果の html ソースを調べてみると、通常、出力結果は非常に構造化されており、特定のdivセクションまたはクラス属性でマークされていることがわかります。そのため、ドキュメント内で見つけるのは非常に簡単です。そのために複雑な HTML 解析ライブラリを使用する必要さえありません。grep のようなもので十分です。
たとえば、この特定のページでは、質問は で始まり、<div class="post-text">
で終わり</div>
ます。間にあるものはすべて、実際には HTML 形式の投稿テキストであり、余分なスペースや "\n" と共に削除する必要がある場合があります。そして、これ<div class="post-text">
はページに一度だけ表示されます。
検索アプリケーションを大規模に展開すると、さまざまなサイトにさまざまな検索エンジンがそれほど多くないことがわかり、同様の検索エンジンを使用するスタイル用に既に作成されたパーサーを再利用できるようになります。
覚えておく必要があるのは、組み込みのセルフテストだけです。サイトは、時々アップグレードしてデザインを変更する傾向があります。アプリケーションがしばらく存続する場合は、結果の有効性をチェックし、検索出力が変更され、パーサーとの互換性がなくなるたびに通知するロジックをパーサーに含める必要があります。次に、特定のパーサーを変更するか、新しいパーサーを作成する必要があります。
お役に立てれば。