Вот код:
import requests
from bs4 import BeautifulSoup
import csv
import os
URL = 'https://rezka.ag/?filter=last&genre=1'
HEADERS = {'user-agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'}
FILE = 'muvies.csv'
user_param_y = int(input('Введите год:\n '))
user_param_j = input('Введите жанр. Пример: Комедии\n ')
pages = int(input('Введите кол-во страниц:\n'))
FILE = 'musics.csv'
def get_html(url, params = None):
r = requests.get(url, headers=HEADERS, params=params)
return r
def get_content(html):
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all('div', class_='b-content__inline_item')
muvies = []
for item in items:
parametr = item.find('div', class_='b-content__inline_item-link').find_next('div').get_text()
name1 = item.find('div', class_='b-content__inline_item-link').find_next('a').get_text()
parametr1 = parametr.split(', ')
muvie_y = int(parametr1[0])
muvie_j = parametr1[2]
if user_param_y == muvie_y and user_param_j == muvie_j :
muvies.append({
'name': name1,
'param' : parametr,
})
return muvies
def save_file(items, path):
with open(path, 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file, delimiter=';')
writer.writerow(['Год', 'Данные'])
for item in items:
writer.writerow([item['name'], item['param']])
def parse():
html = get_html(URL)
if html.status_code == 200:
muviee = []
for page in range(1, pages + 1):
print(f'Парсинг страницы {page} из {pages}...')
html = get_html(URL, params={'page': page})
muviee.extend(get_content(html.text))
print(f'Получено {len(muviee)} фильмов')
print(muviee)
#save_file(muviee, FILE)
#os.startfile(FILE)
else:
print('Error')
parse()
Вот ссылка на страницу с пагинацией:
https://rezka.ag/page/3/?filter=last&genre=1
Суть проблемы в том что на выходе я получаю:
[{'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}, {'name': 'Уличная богиня', 'param': '2020, Мексика, Драмы'}, {'name': 'Хороший Джо Белл', 'param': '2020, США, Драмы'}, {'name': 'Свидание с Эмбер', 'param': '2020, Ирландия, Драмы'}, {'name': 'Сколько стоит жизнь?', 'param': '2020, США, Драмы'}].
То есть парсится первая страница, указанная в URL и не переходит на страницу 2,3,4...и т.д
Помогите решить проблему