@Cipo

Как встроить в код selenium, что бы нажимать на кнопку прокрутки?

Как запарсить весь сайт через BeautifulSoup, если парситься только первая страничка, а для перехода и парсинга другой нужно нажать кнопку прокрутки. Но в BeautifulSoup нет функции клик. Предлагают применить selenium, но куда и какой код нужно вставить не понимаю.
from bs4 import BeautifulSoup
import requests
import lxml
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import WebDriverException
browser = webdriver.Chrome()

browser.set_window_size(1024, 600)
browser.maximize_window()


url = 'https://telega.in/catalog'
res = requests.get(url)
soup = BeautifulSoup(res.text, 'lxml')


name = soup.find_all('span', class_="font-18px desck bold channel_title")
for name in name:
    print(name.text)

Description = soup.find_all('div', class_="info-description font-16px desck lh-18px color-light_black")
for Description in Description:
    print(Description.text)

Subscribers = soup.find_all('span', class_="font-18px desck color-headline")
for Subscribers in Subscribers:
    print(Subscribers.text)

er = soup.find_all('span', class_="font-18px desck color-headline js-err")
for er in er:
    print(er.text)

Views = soup.find_all('span', class_="font-18px desck color-headline js-view")
for Views in Views:
    print(Views.text)

Categories = soup.find_all('div', class_="info-subject font-12px desck color-caprion")
for Categories in Categories:
    print(Categories.text)

Price_for_one_number_of_placements = soup.find_all('div', class_="current_price text_price js-price")
for Price_for_one_number_of_placements in Price_for_one_number_of_placements:
    print(Price_for_one_number_of_placements.text)
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Вы всё перепутали. BS4 ничего не листает. Это просто разбиралка полученного html-кода. Вообще Парсинг - это просто разбор текста, ничего более. То, что вы называете Парсингом, - общение с сервером и передача ему команд и получение ответов - это не Парсинг.

Это удобно делать в webdriver, а selenium - более высокоуровневая обертка к webdriver. Так вот вам надо бы освоить selenium (у него неплохая документация с примерами), а потом бросаться «парсить».

Иначе вам удачи не видать. С каждым чихом сюда не набегаетесь.

Что касается сути вопроса - можно посредством selenium передавать символы PGDOWN и это будет листать страницу столько раз, сколько передадите. Вот вам и прокрутка.

Есть и другие варианты, не ленитесь искать. Тут этот вопрос задавали неоднократно, да и в сети полно вариантов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы