2

私は友人のためにPythonスクリプトを開発しようとしていました。このスクリプトは、公開アルバムのリンクを取得し、「リクエスト」モジュールを使用してすべての写真のいいねとコメントの数をカウントします。これは私のスクリプトのコードです

import re
import requests

def get_page(url):
    r = requests.get(url)
    content = r.text.encode('utf-8', 'ignore')
    return content


if __name__ == "__main__":
    url = 'https://www.facebook.com/media/set/?set=a.460132914032627.102894.316378325074754&type=1'
    content = get_page(url)
    content = content.replace("\n", '')

    chehara = "(\d+) likes and (\d+) comments"
    cpattern = re.compile(chehara)
    result = re.findall(cpattern, content)
    for jinish in result:
        print "likes "+ jinish[0] + " comments " + jinish [1]

しかし、ここでの問題は、最初の28枚の写真のいいねとコメントのみを解析し、それ以上は解析しないということです。問題は何ですか?誰か助けてもらえますか?

[編集:モジュール "request"はWebページをロードするだけです。つまり、可変コンテンツには、リンクされたアルバムのFacebookWebページの完全なhtmlソースが含まれています]

4

2 に答える 2

0

FacebookのグラフAPIを使用します。

アルバムについては、ここに文書化されています:

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

かなり遅いので、テストにはlimit属性を使用します。

http://graph.facebook.com/460132914032627/photos/?limit=10

編集

like_countがjsonの一部ではないことに気づきました。そのために、fqlを使用する必要があるかもしれません。

于 2012-12-18T11:30:13.037 に答える
0

次のページを見たい場合は、次のURLのようにリクエストにafter属性を追加する必要があります。

https://graph.facebook.com/albumID/photos?fields=likes.summary(true),comments.summary(true)&after=XXXXXX&access_token=XXXXXX

このJavaScriptプロジェクトを参考にしてください。

于 2015-08-21T03:04:05.387 に答える