1

YouTubeのコメントページをダウンロードし、次のコードブロックからユーザー名(またはユーザーの表示名)とリンクを抽出したいと思います。

 <p class="metadata">
      <span class="author ">
        <a href="/channel/UCuoJ_C5xNTrdnc4motXPHIA" class="yt-uix-sessionlink yt-user-name " data-sessionlink="ei=CKG174zFqbQCFZmaIQodtmyE0A%3D%3D" dir="ltr">Sabil Muhammad</a>
      </span>
        <span class="time" dir="ltr">
          <a dir="ltr" href="http://www.youtube.com/comment?lc=S2ZH2gSPYaef43vTRkLDxUzo2fYicVUc3SFvmYq2jrs">
            il y a 1 jour
          </a>
        </span>
    </p>

/ channel/UCuoJ_C5xNTrdnc4motXPHIAとSabilMuhammadを抽出したい

もちろん、htmlページには多くの行がありますが、上記のようなコードブロックに焦点を当て、すべてのユーザー名と対応するリンクを抽出して、ログファイルに入れたいだけです。

これに適したスクリプトはありますか?私はbashとc/c++を知っています

ありがとう!

4

3 に答える 3

0

jQueryを使用する場合、それは非常に簡単です。ただし、bashまたはc / c ++で実行している場合は、ページのコンテンツを取得して、関心のある要素を解析する必要があります。要素をXMLとして扱い、属性を解析するのはかなり簡単です。

正規表現、またはサブ文字列との単純なテキストマッチングを使用できます。

于 2012-12-20T18:13:54.673 に答える
0

awk(bashが得意な場合)を使用すると、ページを1行ずつ読み取り、フィルターを配置して、<p class="metadata">直面した場合にキャッチしてコピーを開始し、コピーを終了することができます。</p>

次に、その抽出された部分で作業します。

于 2012-12-20T18:15:35.013 に答える
0

jQueryを使用して、すべての''クラスを反復処理し、metadata必要なコンテンツをプルすることで、このようなことを実現できます。

//After including jQuery within your page
$(document).ready(function()
{
    //Iterates through each of the metadata tags
    $('.metadata').each(function()
    {
          //Pulls the username
          var username = $('.yt-user-name', this).text();
          //Pulls the link
          var link = $('.time a', this).attr('href');
          //Process each accordingly
          alert(username + ':' + link);
    });
});

実例

于 2012-12-20T18:15:48.817 に答える