Найти - Пользователи
Полная версия: Парсинг. Сохранить картинки в нужную папку.
Начало » Python для новичков » Парсинг. Сохранить картинки в нужную папку.
1
kirussian
Всем привет! Совсем новичок в питоне, подскажите, как мне явно указать в коде, чтобы все картинки сохранялись в папку? Вот код:

https://gist.github.com/kirussian911/51d96c9e1051e412843e101a9e59d1e4
Vigi
 import os
import re
import urllib.request
import requests
def load_source(website):
    site = urllib.request.urlopen(website)
    read_site = site.read()
    return read_site
def parse_img(source):
    links = []
    t = str(source)
    pattern = '<img width="\d+" height="\d+" src="'
    result = re.split(pattern, t)
    # рабочий вариант через replace
    # t = str(source).replace('550', ' ').replace('375', ' ').split('<img width=" " height=" " src="')
    for i in result:
        r = str(i).split('""')
        links.append(r[0])
    return links
# Здесь мы получаем имя файла и сохраняем его
def download(links):
    folder = 'ali'
    if not os.path.exists(folder):
        os.makedirs('ali')
    for i in links:
        try:
            v = requests.get(i, stream=True)
            filename = i.replace('?', '/').split('/')[8]
            #https://i0.wp.com/aliholic.com/wp-content/uploads/2018/08/magnetic-phone-holder-e153497563539jpg0.?resize=375%2C375&amp;ssl=1"
            print(filename) # magnetic-phone-holder-e1534975635390.jpg
            with open(f'{folder}/{filename}', 'bw') as f:
                for chunk in v.iter_content(4096):
                    f.write(chunk)
        except:
            pass
def main():
    print('start page: ')
    source = load_source('https://aliholic.com/shop/')
    links = parse_img(source)
    download((links))
    print('Tnx')
if __name__=='__main__':
    main()
python 3.6 - и выше
kirussian
Vigi
Спасибо за помощь!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB