Я пытаюсь извлечь все страницы, которые понравились данному человеку в Facebook. Поэтому я использую Python с BeautifulSoup и selenium для автоматизации соединения.
Однако, хотя мой код работает, он на самом деле не возвращает все результаты (например, в моем профиле он возвращает только около 20% всех страниц).
Я читал, что это может быть синтаксический анализатор, используемый в BeautifulSoup, но я попробовал несколько из них (html.parser, lxml ...), и это всегда одно и то же.
Может быть, это потому, что Facebook динамически генерирует страницы с помощью AJAX? Но тогда у меня есть Selenium, который должен правильно интерпретировать это!
Вот мой код:
from selenium import webdriver
from bs4 import BeautifulSoup
import time
id_user = ""
driver = webdriver.Chrome()
driver.get('https://facebook.com')
driver.find_element_by_id('email').send_keys('')
driver.find_element_by_id('pass').send_keys('')
driver.find_element_by_id('loginbutton').click()
time.sleep(2)
pages_liked = "https://www.facebook.com/search/" + id_user + "/pages-liked"
driver.get(pages_liked)
soup = BeautifulSoup(driver.page_source, 'html.parser')
likes_divs = soup.find_all('a', class_="_32mo")
for div in likes_divs:
print(div['href'].split("/?")[0])
print(div.find('span').text)
Большое спасибо,
Лоик