Python - Соскреб изображения с помощью запросов - PullRequest
0 голосов
/ 04 июля 2018

Я не могу сохранить / загрузить изображения в этом месте. Я не могу понять проблему, хотя код кажется правильным.

Я использую библиотеку запросов для очистки изображений.

import os
import urllib
import urllib.request
from bs4 import BeautifulSoup
import requests
import re

from lxml.html import fromstring

r = requests.get("https://www.scoopwhoop.com/subreddit-nature/#.lce3tjfci")
data = r.text
soup = BeautifulSoup(data, "lxml")

title = fromstring(r.content).findtext('.//title')

#print(title)


newPath = r'C:\Users\Vicky\Desktop\ScrappedImages\ ' + title

for link in soup.find_all('img'):
    image = link.get('src')
    if 'http' in image:
        print(image)
        imageName = os.path.split(image)[1]
        print(imageName)

        r2 = requests.get(image)

        if not os.path.exists(newPath):
            os.makedirs(newPath)
            with open(imageName, "wb") as f:
                f.write(r2.content)

Ответы [ 2 ]

0 голосов
/ 04 июля 2018
import os
from bs4 import BeautifulSoup
import urllib
import requests
import urlparse

from lxml.html import fromstring

r = requests.get("https://www.scoopwhoop.com/subreddit-nature/#.lce3tjfci")
data = r.text
soup = BeautifulSoup(data, "lxml")

for link in soup.find_all('img'):
    image = link.get('src')
    if bool(urlparse.urlparse(image).netloc):
        print(image)
        imageName = image[image.rfind("/")+1:]
        print(imageName)

        urllib.urlretrieve(image,imageName)
0 голосов
/ 04 июля 2018

Попробуйте включить r = requests.get("https://www.scoopwhoop.com/subreddit-nature/#.lce3tjfci") в оператор try: или while:, чтобы убедиться, что просматриваемый вами веб-сайт возвращает ответ 200, возможно, веб-сайт истек или не отвечает на ваш запрос.

...