2017-10-07 47 views
0

我正在學習美麗的湯,並試圖抓取從本地目錄上傳的圖像時遇到問題。我看到的錯誤是:颳去本地加載的圖像

ValueError: unknown url type: 'images/ixa2.png' 

我認爲正在發生的事情是圖像從本地目錄中加載並沒有被通過URL託管。這是個什麼樣子,當我檢查,我試圖刮元素,如:

<img width="200" align="left" hspace="0" src="ixa/cards/axisofmortality.jpg"> 

我很好奇,如果有可能刮掉這些圖像,如果是這樣,怎麼樣。

這裏是我一起工作的代碼:你正試圖從殘缺的網址下載圖像

from urllib import request 
import urllib.request 
from bs4 import BeautifulSoup as soup 

def make_soup(url): 
    result = request.urlopen(url) 
    page = result.read() 

    parsed_page = soup(page, "html.parser") 
    result.close() 
    return parsed_page 

def get_images(url): 
    soup = make_soup(url) 
    images = [img for img in soup.findAll('img')] 
    print (str(len(images)) + "images found.") 
    print('Downloading images to current working directory.') 
    #compile our unicode list of image links 
    image_links = [each.get('src') for each in images] 
    for each in image_links: 
     filename=each.split('/')[-1] 
     urllib.request.urlretrieve(each, filename) 
    return image_links 

get_images('http://mythicspoiler.com/') 

回答

1

我的建議是這樣的:

def get_images(url): 
    soup = make_soup(url) 
    images = [img for img in soup.findAll('img')] 
    print (str(len(images)) + "images found.") 
    print('Downloading images to current working directory.') 
    #compile our unicode list of image links 
    image_links = [each.get('src') for each in images] 
    for each in image_links: 
     filename=each.split('/')[-1] 
     urllib.request.urlretrieve('http://mythicspoiler.com/' + each, filename) # <--- 
    return image_links 
+0

簡單而有效的,謝謝。 – Bonteq