Соскоб Python изображений с BeautifulSoup - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь очистить и загрузить изображения с веб-сайта, используя BeautifulSoup.Я очистил список ссылок, хранящихся в imgVal, код может создать новый каталог для хранения изображений.У меня проблема в том, что код загружает только одно изображение из списка ссылок.Я хотел бы скачать их все.Как мне это сделать?

from bs4 import BeautifulSoup
from os.path import basename
import requests
import os

...

def writeImages():
    imgVal = getThumbnailLinks()
    imgBasename = '\n'.join(map(str, imgVal))

    pageNumber = '001'
    filename = pageNumber + '/'
    os.makedirs(os.path.dirname(filename), exist_ok=True)

    with open(filename + basename(imgBasename),"wb") as f:
        f.write(requests.get(imgBasename).content)

writeImages()

1 Ответ

0 голосов
/ 21 ноября 2018

, поэтому вы хотите загрузить многострочный URL в качестве ввода для requests?Вы не можете, вы должны сделать это один за другим, используя цикл.

def writeImages():
    pageNumber = '001'
    filename = pageNumber + '/'
    os.makedirs(os.path.dirname(filename), exist_ok=True)

    imgVal = getThumbnailLinks() # ['http://a.jpg', 'http://b.jpg']
    for imgBasename in imgVal:
        with open(filename + basename(imgBasename),"wb") as f:
            f.write(requests.get(imgBasename).content)

writeImages()
...