2

背景:私はFacebookの音楽共有(海賊版のgs / ytへのリンク)グループに参加しています。毎日最大20人のメンバーが、コミュニティが好むと思う曲へのリンクを投稿しているので、私たちはそのジャンルの音楽を楽しむように成長しています。月末に、毎月投稿した全曲の全タイトル一覧を作成したいと思います。

問題:Facebookはこの機能を提供していません。非常に軽い検索機能(サブフィルターなし)しか提供しておらず、その検索でも投稿で見つかった文字列の結果のみが返されます。だから、例。検索:「BBキング」はその文字列を含む投稿を返します。さらに悪いことに、投稿がその曲のものである場合、ユーザーは「BBKing」でコメントしなかったため、結果はそのリンクを返しません。Fbは投稿のタグ付けも許可していません。

MESSING AROUND:Stylishと呼ばれるChromeプラグインを使用することで、Facebookページ(カスタムユーザーエージェントスタイル)で特定のクラスのほとんどの要素を非表示にし、必要なものを視覚的に収集できます。残念ながら、これは私の例では機能しませんでした。

必要なトラックとアーティストの情報がinnerHTMLに含まれているdivのクラスの名前を絞り込みました。

目標:このdivのすべてのインスタンス(このクラス名を使用)のページをスクレイプし、後でエクスポートできる配列にそのinnerHTMLコンテンツを格納するChromeプラグインを作成したいと思います。そうすることで、1か月分のリストを作成し、Facebookグループの[ファイル]タブにファイルとして投稿できるようになります。

私を正しい方向に向ければ、いじり始めます!

前もって感謝します。

4

2 に答える 2

1

スクレイピングに頼る必要すらありません!グラフAPIは次のことに役立ちます。

https://developers.facebook.com/docs/reference/api/group/

したがって、Facebookアプリをまだ持っていない場合、入手できるものを確認する方法は次のとおりです。

https://developers.facebook.com/tools/explorer/?method=GET&path=me/groups

これはグラフエクスプローラーです。これは、グラフAPIを介して利用できるデータを表示するシンプルなツールです。[アクセストークンの取得]をクリックしてチェックuser_groupsボックスをオンにし、[アクセス許可]ダイアログを受け入れます。

これにより、メンバーであるすべてのグループを含むJSONオブジェクトが返されます。idこれらすべてのリンクを取得しようとしているものを取得し、そのGraphAPIフィードノードに移動します。

https://graph.facebook.com/114817635246802/feed

ここではアクセストークンを使用する必要があります。グラフエクスプローラーからコピーして貼り付けるだけです。これにより、グループ内の最新の投稿とページ付けリンクを含むJSONオブジェクトが返されます。これらを使用して、音楽へのすべてのリンクを含むJSONの完全なリストを取得できます。

ここで、学習したいことは次のとおりです。-Facebookアプリを作成する方法-独自のアクセストークンを生成する方法-プログラムでAPIリクエストを作成する方法

このチュートリアルを読んでください。JavascriptとHTMLに漠然と精通している場合でも、約10分で何かが得られます。幸運を!

于 2012-11-08T23:44:00.530 に答える
0

Chrome拡張機能を構築する必要はありません。ブックマークに配置された小さなJavaScriptスニペットで次のことができます。

javascript:var all_the_divs_content = '';
    var divs = document.getElementsByClassName('test'); 
    for( var i = 0 ; i < divs.length ; i++ ){
     all_the_divs_content += divs[i].innerHTML + '<br/> ---- <br/>';    
    }
    all_the_divs_content_window = window.open('about:blank','');
all_the_divs_content_window.document.write( all_the_divs_content );

http://jsfiddle.net/gael/J8R6k/

しかし、FacebookAPIはもっと強力なはずだと思います。

于 2012-11-08T23:36:51.450 に答える