2016-08-05 32 views
-1

我想每天都得到我所有的Facebook好友,並且我正在尋找哪種方法更有效。如何讓你自己的Facebook朋友每天

我的第一個方法是創建一個硒webdriver腳本。它打開一個Web瀏覽器,訪問/me/friends,自動向下滾動,直到列表完成,然後解析名稱。它工作得很好,但需要一些時間(大約4-5分鐘)。

在圖API上進行了一些搜索之後,似乎無法獲得完整列表。

另一種方法是從臉書請求下載所有的數據,但臉書向你發送了一封電子郵件,你需要等待並下載它等等,但仍然需要等待。

最後的辦法是使用它的擴展名(名字是who deleted me),它比我的方法更快。我想知道這個擴展是如何工作的,我注意到的一件事是它沒有找到我的一個已經去世的朋友。我不喜歡第三方擴展來獲取我的數據,我更喜歡自己做。所以我想知道是否有一個端點返回你的公共朋友?或者這個chrome擴展的做法是什麼?

是否有任何其他編程方式來獲取你的朋友?當然,您可以使用無頭瀏覽器並向/me/friends發送一些請求,並在瀏覽器向下滾動時收到響應,但很難理解哪些ajax調用是正確的。

更新: 我殺的做法:https://gist.github.com/johndel/cd01a854e8bf36d9d30b44758607cf3d#file-check_friends-rb

這是不是最好的代碼,我可以寫,只是爲了看到它完成,只需用您的電子郵件/密碼代替的SendKeys,它會一劈做的伎倆。我的方法獲得了我所有的朋友(鉻擴展方法沒有找到我的朋友,這就是爲什麼我認爲它正在觸碰另一個端點,並且它以不同方式做)。

回答

1

/me/friends是一個圖形API端點,只會得到你的授權你的應用程序的朋友列表。如果朋友沒有授權你的應用程序,這是不可能的。所有可能的事情都不允許在Facebook上進行,因爲它涉及到刮蹭。

刮條款:https://www.facebook.com/apps/site_scraping_tos_terms.php

的更多信息:Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app

+0

是的我提到過,我知道它不適用於圖形API。此外,我沒有Facebook應用程序,只是我的瀏覽器...這是一個自動答案或什麼? – JohnDel

+0

這就是答案。這是不允許的,也沒有終點。 facebook有關於抓取的具體條款,我會添加鏈接。 – luschn

+0

好吧,解析是不允許的,但我仍然很好奇這可以做什麼其他方式(即使他們的政策是不允許的......很高興知道它是如何實現的)。 – JohnDel