Может ли автоматизация селена использоваться с BS4? - PullRequest
1 голос
/ 09 апреля 2020

Я использую selenium для автоматизации и очистки. Теперь я обнаружил, что это слишком медленно на некоторых сайтах. Если я использую beautifulSoup, тогда я могу быстрее их очистить, но автоматизация невозможна.

Есть ли где-нибудь, где я могу автоматизировать веб-сайт (события нажатия кнопки и т. Д. c.), А также можно просматривать веб-сайты с ним на beautifulSoup?

Можете ли вы привести пример автоматизации кнопок / поиска с bs4 + selenium?

Любая помощь будет признательна ...

Ответы [ 2 ]

2 голосов
/ 09 апреля 2020

Пример

from bs4 import BeautifulSoup as Soup
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://stackoverflow.com/questions/tagged/beautifulsoup+selenium")
page = Soup(driver.page_source, features='html.parser')
questions = page.select("#questions h3 a[href]")

for question in questions:
    print(question.text.strip())

Или просто

import requests
from bs4 import BeautifulSoup as Soup


url = 'https://stackoverflow.com/questions/tagged/beautifulsoup+selenium'
response = requests.get(url=url)
page = Soup(response.text, features='html.parser')
questions = page.select("#questions h3 a[href]")

for question in questions:
    print(question.text.strip())

Не забудьте прочитать { ссылка }

1 голос
/ 09 апреля 2020

Абсолютно. Вы можете выполнить весь рендеринг с использованием селена и передать исходный код страницы в Beautifulsoup следующим образом:

from bs4 import BeautifulSoup as bs
soup = bs(driver.page_source,'html.parser')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...