Задать вопрос
@NewUser9901

Как устранить парсинг одной и той же картинки?

Всем привет!
Написал код для парсинга url-картинок, но проблема заключается в том, что парсится одна и та же картинка. Я так понимаю не меняется значение index при парсинге? Как можно это исправить? Подскажите, пожалуйста.

import requests
from bs4 import BeautifulSoup
import json

URL = 'https://www.luscious.net/albums/chikan-densha_268925/read/?index=0&view=slideshow&sorting=rating_all_time' 
HEADERS = {
    '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',
    'user-agent': '...'
}

def get_html(url, params = ' '):
    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_ = 'o-flex-column-center')
    img_url = []
    for item in items:
        img_url.append(item.find('div', class_ = 'o-flex-center picture-frame-wrapper').find('img').get('src')) # получение url картинки

    return img_url

def parser():
    PAGENATION = input('Введите кол-во картинок: ') # ввод до какого index идёт парсинг
    PAGENATION = int(PAGENATION.strip())
    html = get_html(URL)
    if html.status_code == 200:
        img_url = []
        for index in range(1, PAGENATION):
            print(f'Парсим {index} картинку')
            html = get_html(URL, params= {'index': index}) # получение html и смена значения index
            img_url.extend(get_content(html.text))
        with open('test.txt', 'w') as f: # запись результата
            f.write(json.dumps(img_url))
    else:
        print('error')

parser()
  • Вопрос задан
  • 157 просмотров
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Mi11er
@Mi11er
A human...
А что конкретно у вас должно делаться тут
html = get_html(URL, params= {'index': index})
Он же добавить к URL еще один параметр index
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы