Как спарсить несколько страниц сайта?

Рейтинг: 0Ответов: 1Опубликовано: 24.07.2023

Помогите пожалуйста, пытаюсь спарсить страницы читай города, пробовал через .click(), но кнопка сделана через div и пишет что элемент не кликабелен, пробую через подставление значения из массива, но цифры не меняются, а только плюсуются любым методом, как можно реализовать?

import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
import json


i = [1,2,3,4,5,6,7,8,9]
driver = webdriver.Chrome()
# driver.maximize_window()
driver.get('https://www.chitai-gorod.ru/search?phrase=манга&page='+str(i[0]))


page = driver.page_source
html = BeautifulSoup(page, 'lxml')
mangas = html.find_all('article', class_='product-card product-card product')

n = []
for names in mangas:
    if names['data-chg-product-name'] != '':
        names.get_text(strip=True)
        n.append(names.text.strip().split('\n'))
for l in n:
    print(*l, sep='')

json_object = json.dumps(n, indent=1)

with open("sample.json", "w") as outfile:
    outfile.write(json_object)

Ответы

▲ 0
driver = webdriver.Chrome()

# driver.maximize_window()
pag = []
for i in range(1,3):
    driver.get('https://www.chitai-gorod.ru/search?phrase=манга&page=' + str(i))
    pag.append(driver.page_source)
for el in pag:
    html = BeautifulSoup(el, 'lxml')
    mangas = html.find_all('article', class_='product-card product-card product')