Чтение исходного кода, передача файлов cookie и полевых данных на сайт

1

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

Предполагается, что проект должен прочитать список первых имен из файла по одному, затем перейдите в facebook, введите имя, посмотрите, что первый результат находится под предлагаемой функцией людей (например, когда вы вводите имя, не нажимая enter он показывает вам несколько человек) и получает имя и сохраняет его.

Назовите это так, в основном, посмотрите, что предлагают людям для каждого имени просто практиковать кодирование.

Проблема с этим связана с тем, что я делаю это вручную, используя опцию robot в java. Это ужасное кодирование и ужасно неэффективное и медленное.

Я не уверен, как читать исходный код из facebook, хотя, потому что

a) вам нужно войти в систему, чтобы использовать параметр поиска, который предложил людям, то есть мне нужно было бы как-то передать куки файлы на него

б) данные формы для поиска должны быть заполнены до обновления исходного кода, так как выпадающее меню не появляется, предлагая людям до тех пор, пока не будет введено имя.

Есть ли кто-нибудь, кто может дать пример кода либо a, либо b? Как передать файлы cookie и прочитать исходный код или как ввести данные формы, а затем получить обновленный источник. Я долгое время боролся с этим и ничего не могу найти.

большое спасибо

Теги:
cookies
forms
facebook

3 ответа

1

Прежде всего, вы должны прочитать документы перед тем, как просто попробовать что-то. API-интерфейс Graph предоставляет конечную точку поиска, которая обеспечивает желаемую функциональность (если я правильно понял).

Посмотри на

Если у вас есть такой список

Mark
Sharon
Simon
Emil

вы должны иметь возможность читать строку файла в каждой строке и для каждой строки запрашивать конечную точку /search следующим образом:

https://graph.facebook.com/search?q={firstname}&type=user&access_token={access_token}

Переменная {firstname} должна быть заменена фактическим первым именем этой строки, а токен доступа должен быть собран из Graph Explorer, например (copy & paste):

Пример запроса (используйте HttpClient, см. Ниже) будет

https://graph.facebook.com/search?q=Mark&type=user&limit=1&access_token={access_token}

или

что приводит к

{
  "data": [
    {
      "name": "Mark Deere", 
      "id": "717082841687658"
    }
  ], 
  "paging": {
    "next": "https://graph.facebook.com/v2.3/search?limit=1&type=user&q=Mark&offset=1&__after_id=enc_AdAYbM71uirdENZCzBE26nNu3oBItX6Q69nDF1PMP4o14FZAhPipu5U5JVGooaFZA04NraNyzj759r59gRfRdVMNyDf"
  }
}

Затем вы можете проанализировать JSON (используйте Джексон, см. Ниже) и получить содержимое поля name.

Видеть:

0

Использование API Facebook является одним из вариантов. Другим вариантом, который вы можете попробовать, является веб-соскабливание с помощью Selenium или Geb. Это инструменты, которые обеспечивают автоматизацию веб-браузера через API.

См. Http://www.seleniumhq.org/docs/03_webdriver.jsp#introducing-the-selenium-webdriver-api-by-example

0

Хорошо, вам повезло - API Facebook делает именно то, что вы хотите.

Вам понадобится токен аутентификации Facebook и вам нужно будет выполнить запрос в службе пользователя в своем графическом API:

https://developers.facebook.com/docs/graph-api/reference/user

Вы можете использовать Graph Explorer (связанный из ссылки выше), чтобы попробовать и посмотреть - если ваше приложение выполняет запрос HTTP GET на http://graph.facebook.com/v2.3/Chris (или любое другое имя) и предоставить токен OAuth в заголовке, вы получите именно то, что хотите. (Для запроса Криса вы, например, получаете автора Криса Грина)

  • 0
    Как получить токен авторизации на Facebook? Немного не уверен, что вы имеете в виду, предоставляя токен Oauth.
  • 0
    Facebook имеет много информации по этому вопросу на developers.facebook.com/docs/facebook-login/access-tokens - но вы можете получить краткосрочный токен (час или два), просто перейдя по ссылке на Graph-API выше и с помощью графического проводника. Чтобы вы могли выполнять какие-либо команды через него, вам нужен токен, который сгенерирует его для вас (для вашего собственного фейсбука). Этот токен является переносимым, и вы можете использовать его в своих запросах GET в своей программе (вам нужно будет генерировать новый каждый час или около того, используя вашу программу). Вы можете продлить токен на токен с длительным сроком действия (60 дней) - инструкции в ссылке
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню