Этот сайт можно удалить с BeautifulSoup? - PullRequest
0 голосов
/ 05 февраля 2020

Я бы поцарапал этот сайт: https://www.projets-environnement.gouv.fr/pages/home/

Точнее, я бы хотел собрать таблицу в div с id = table-wrapper.

Моя проблема в том, что я не могу поймать его с помощью BeautifulSoup.

Вот мой код:

url = 'https://www.projets-environnement.gouv.fr/pages/home/'
html = requests.get(url).text
soup = BeautifulSoup(html, "html5lib")
div_table = soup.findAll('div', id_='table-wrapper')

Но div_table - это None объект. Является ли селен решением?

enter image description here

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

Я думаю, вы должны использовать selenium:

from bs4 import BeautifulSoup

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.options import Options

url = 'https://www.projets-environnement.gouv.fr/pages/home/'

options = Options()
options.headless = True
driver = webdriver.Firefox(firefox_options=options)
driver.get(url)

html = driver.page_source
soup = BeautifulSoup(html, "html.parser")
mytable = soup.find('div', id='table-wrapper')

, и вы получите эту таблицу.

0 голосов
/ 05 февраля 2020

Правильный способ звонка:

soup.find("div", {"id": "table-wrapper"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...