Как я могу очистить скрытые элементы без использования селена? - PullRequest
2 голосов
/ 19 января 2020

Я пытаюсь создать веб-скребок для сбора данных для проекта научной ярмарки. Я создаю карту качества воздуха для Калгари. Я получаю свои данные с веб-сайта CRAZ Когда я проверяю код в Chrome, он показывает нужные мне данные.

Мой код находится под изображением:

from bs4 import BeautifulSoup as Bsp
import requests as r

page_ce = r.get('https://craz.ca/monitoring/calgary-central/')
soup = content = Bsp(page_ce.content, 'html.parser')
ce_d = soup.find(id='mainTable')


print(ce_d)

1 Ответ

0 голосов
/ 19 января 2020

Вы можете использовать селен, не открывая окна. Selenium выполняет javascript, поэтому вы сможете очистить его.

Для этого добавьте опцию «--headless». Если ваш сервер windows, добавьте также «--disable-gpu». Если ваш сервер linux, добавьте «--no-sandbox».

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# chrome_options.add_argument("--disable-gpu") # windows only
# chrome_options.add_argument("--no-sandbox) # linux only
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)

driver.get("https://craz.ca/monitoring/calgary-central/")

Тогда вы можете очистить селеном.

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