Почему я не могу выполнить веб-очистку своей домашней страницы facebook?

#python #web-scraping #beautifulsoup

#python #веб-очистка #beautifulsoup

Вопрос:

Я хочу очистить свою домашнюю страницу facebook, на которую всегда выполняется вход на моем компьютере, используя python и beautifulsoup. Я использую приведенный ниже код :

 from urllib.request import urlopen as urlo
from bs4 import BeautifulSoup as soup
url = 'https://www.facebook.com'
uclient = urlo(url)
page = uclient.read()
uclient.close()
page_soup = soup(page,'html.parser')
x = page_soup.findAll('div',{'id':'fbNotificationsJewel'})
  

Но x возвращает пустой список. Я хочу поработать над разделением, показывающим количество уведомлений на facebook, и вернуть количество уведомлений, которые у меня есть в моей учетной записи. Моя учетная запись всегда авторизована! Я делаю что-то не так, или beuatiful soup не может этого сделать. Я прилагаю скриншот, показывающий элемент в html-коде, чтобы показать, на что я ссылаюсь :

введите описание изображения здесь

Комментарии:

1. Ваш facebook довольно динамичен, поэтому вы можете использовать selenium для рендеринга страницы

2. Краткий ответ: Facebook не любит, когда его удаляют, и имеет несколько мер, чтобы усложнить это. Используйте их API.

3. Ваш браузер зарегистрирован, а не ваш компьютер. Информация, хранящаяся в вашем браузере, которая позволяет Facebook.com информация о том, кто вы, недоступна для Python, это было бы небольшой проблемой безопасности. Вам нужно написать код, чтобы действительно войти в Facebook. Это не так уж и тривиально, и Facebook предпочел бы, чтобы вы использовали их выделенные URL-адреса для автоматического доступа .

Ответ №1:

Когда вы запрашиваете страницу Facebook, но не прошли аутентификацию, вам будет представлена стандартная страница входа.

Я полагаю, что этот элемент не существует на этой странице и, следовательно, ничего не возвращает.

Вам нужно посмотреть на аутентификацию с помощью beautiful soup. К сожалению, я не могу привести вам пример, но ответ здесь, в моем сообщении.