У меня хорошая структура URL-адресов, и я хочу перебрать URL-адреса и загрузить все изображения из URL-адресов. Я пытаюсь использовать BeautifulSoup для выполнения работы вместе с функцией запросов.
Вот URL - https://sixmorevodka.com/# & gid = 0 & pid = {i}, и я хочу ' i 'для итерации, скажем, от 1 до 100 для этого примера.
from bs4 import BeautifulSoup as soup
import requests, contextlib, re, os
@contextlib.contextmanager
def get_images(url:str):
d = soup(requests.get(url).text, 'html.parser')
yield [[i.find('img')['src'], re.findall('(?<=\.)\w+$', i.find('img')['alt'])[0]] for i in d.find_all('a') if re.findall('/image/\d+', i['href'])]
n = 100 #end value
for i in range(n):
with get_images(f'https://sixmorevodka.com/#&gid=0&pid={i}') as links:
print(links)
for c, [link, ext] in enumerate(links, 1):
with open(f'ART/image{i}{c}.{ext}', 'wb') as f:
f.write(requests.get(f'https://sixmorevodka.com{link}').content)
Мне кажется, я что-то напутал в строке Yield или в самой последней строке записи. Кто-нибудь, помогите мне, пожалуйста. Я использую Python 3,7