2

コミュニティでは、ページのソースコードを読み取って、リモートホスト(自分のホストではなくWebサーバー)から歌詞を抽出するアプリケーションの擬似コードを作成中です。これは、次のことを前提としています。

  • 歌詞は平文で表示されています
  • 歌詞を含むソースコードの一部は、Javaフロントエンドアプリケーションで読み取ることができます

質問に答えるためのソースコードを探していませんが、リモートWebページにプレーンテキストコンテンツをクエリするために使用される専門用語は何ですか?

Webページの命名スキームを決定できれば、URLオブジェクトのポインタを適切なWebページに設定できますよね?唯一の制限は不規則な大文字化であり、平文がまったく同じ場所で見つかった場合にのみ有効になります。

何か提案はありますか?「Buck65」はこういうことを考えていて、「Ilookgood」を歌っていました。

  • URL url =新しいURL(http://www.elyrics.net/read/b/buck-65-lyrics/i-look-good-lyrics.html);
    • 「buck-65-lyrics」と「i-look-good-lyrics」をユーザー入力を反映するように置き換えることができますか?
    • PostgreSQLテーブルにリダイレクトされた入力

現在の目的:

  • ユーザーは{曲、アーティスト、アルバム}の名前を要求し、JavaフロントエンドはリモートWebページを照会します
  • 完全なソースコード(プレーンテキストを含む)は、Javaフロントエンドで抽出されます
  • 歌詞はソースコードから抽出されます(どういうわけか)
  • 曲が現在PostgreSQLサーバーによってインデックス付けされていない場合は、テーブルに追加されます。
  • プログラムの目的に合わせて平文で操作します

私は方向性を探しているだけです。私が完全に間違った方向に向かっている場合は、私に知らせてください。これは擬似コード専用です。私は答えや配布物を探していません。何をする必要があるかを判断するのに助けが必要です。あなたが知っている平文を抽出するための外部ライブラリはありますか?私が達成しようとしていることにはどのような技術名がありますか?

ありがとう、タイラー

4

3 に答える 3

1

このアプローチは、画面またはデータスクレイピングと呼ばれます。これを使用すると、ターゲットサービスの利用規約に違反することがよくあります。通常、これは堅牢なアプローチではありません。そのため、動作方法が保証されたAPIのようなサービスが推奨されます。

あなたのアプローチはほとんどの部分で機能するように聞こえますが、覚えておくべきことがいくつかあります。

  • 対話しているWebサービスで非常に正確なURLスキームが必要な場合は、ユーザー提供のデータを直接フィードしないでください。単語の欠落、略語、またはスペルミスによって混乱する可能性があります。最初に何らかの検索を実行し、その検索の最良の結果を使用する方がよい場合があります。
  • HTMLデータの読み取りは、思ったよりも複雑です。jsoupなどの既存のライブラリを使用して支援してください。
于 2012-06-07T23:40:48.553 に答える
0

サイトからコンテンツを抽出するための専門用語はウェブスクレイピングです、あなたはそれをグーグルすることができます。多くのオンラインライブラリがあり、Javaにはjsoupがあります。独自の正規表現を書くのは簡単ですが。私が最初に行うことは、curlを使用して、テストのためだけにサイトからコンテンツを取得することです。これにより、何をすべきかについての公正なアイデアが得られます。

于 2012-06-07T23:42:12.983 に答える
0

HTMLパーサーを使用する必要があります。最も人気のあるものの1つはjsoupです。

あなたがしていることの法的側面に注意してください;)

于 2012-06-07T23:42:13.920 に答える