2016-08-05 2 views
-1

Я хочу получать все мои друзья в facebook каждый день, и я искал, что является более эффективным способом сделать это.Как получить свои собственные друзья в facebook каждый день

Мой первый подход состоял в том, чтобы создать сценарий web-сервера селена. Он открывает веб-браузер, посещает /me/friends, автоматически прокручивается до тех пор, пока список не закончится, а затем он проанализирует имена. Он работает очень хорошо, но требуется некоторое время (примерно 4-5 минут).

После некоторого поиска в API-интерфейсе, похоже, что ваш полный список невозможен.

Другой подход - запросить у пользователя facebook, чтобы загрузить все ваши данные, но facebook отправляет вам электронное письмо, и вам нужно подождать и загрузить его и т. Д., И все же вам нужно подождать.

Окончательный подход состоял в том, чтобы использовать расширение хром (имя who deleted me), с которым оно работало, и оно было быстрее моего подхода. Мне интересно, как это расширение работает, и одно, что я заметил, это то, что он не нашел моего моего друга, который скончался. Мне не нравится расширение третьей стороны, чтобы иметь свои данные, и я предпочитаю делать это самостоятельно. Поэтому мне интересно, есть ли конечная точка, которая возвращает ваших общественных друзей? или каков подход этого расширения хрома для этого?

Есть ли какой-либо другой способ программирования для ваших друзей? Конечно, вы можете использовать безгласный браузер и делать некоторые запросы к /me/friends и получать ответы, как это делает веб-браузер, когда он прокручивается вниз, но довольно сложно понять, какие аякс-звонки являются правильными.

Update: Мой подход слом: https://gist.github.com/johndel/cd01a854e8bf36d9d30b44758607cf3d#file-check_friends-rb

Это не самый лучший код я могу написать, просто хак для просмотра это сделано, просто замените SendKeys свой электронный/пароль и он будет Покажи фокус. Мой подход привлекает всех моих друзей (подход с расширением chrome не нашел моего друга, поэтому я думаю, что он ударяет по другой конечной точке, и он делает это по-другому).

ответ

0

Я нашел другой URL, где я могу принести пользователей и, кажется, есть куча из них и более чем одно решение. Таким образом, безгласный и быстрый подход заключается в этом:

https://gist.github.com/johndel/29afec4b159203baf7521cd5a50dbb60, и я думаю, что его можно оптимизировать еще дальше с помощью ниток (возможно, и hydra).

1

/me/friends - конечная точка API Graph, которая получит только ваш список друзей, которые утвердили ваше приложение. Невозможно вообще получить друзей, которые не разрешили ваше приложение. Все, что может быть возможно, запрещено в 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

Смежные вопросы