Рекурсивный веб-сайт на Facebook с Selenium & Node.js - PullRequest
0 голосов
/ 08 июня 2019

То, что я пытаюсь сделать, - это перебрать массив идентификаторов страниц Facebook и вернуть код с каждой страницы события. К сожалению, я получаю только код последнего идентификатора страницы в массиве, но столько раз, сколько элементов в массиве. Например. когда у меня есть 3 идентификатора в массиве, я получаю 3 раза код последнего идентификатора страницы.

Я уже экспериментировал с асинхронным ожиданием, но безуспешно.

Ожидаемым результатом будет код каждой страницы. Спасибо за любую помощь и примеры.

//Looping through pages
pages.forEach(
  function(page) {
    //Creating URL
    let url = "https://mbasic.facebook.com/"+page+"?v=events";
    //Getting URL
    driver.get(url).then(
      function() {
        //Page loaded
        driver.getPageSource().then(function(result) {
          console.log(result);
        });
      }
    );
  }
);

1 Ответ

0 голосов
/ 09 июня 2019

вы сталкивались с той же проблемой, что и я, когда создавали скребок с использованием python и selenium. У Facebook есть контрмеры по ручному изменению URL, вы не можете изменить его, я снова и снова получаю одни и те же данные, даже если они были автоматизированы. для того, чтобы получить хороший результат, вам нужно иметь доступ к графическому API Face Book, который предоставляет полный объект страницы Facebook с URL-адресом пагинации.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...