2016-04-03 1 views
2

Ok gut. Also habe ich ein Modul namens imagescraper vonImageScraper funktioniert nicht

heruntergeladen
Pip install ImageScraper 

Wenn in der Konsole läuft

image-scraper 'insert url' 

Works just fine. Allerdings nach der Dokumentation, als ich in jupyter Notebook lief.

Import image_scraper 

image_scraper.scrape_images('insert url') 

Ich bin zurückgekehrt, um einen (0, 0) Tupels.

Ich habe mein Arbeitsverzeichnis durchsucht, wo meine Bilder sein sollen, aber es ist nicht da.

Meine Neugier ist nicht mehr mit kratzen Bilder. Aber ich will es wirklich nur herausfinden und herausfinden, warum es in meinem Python-Buch nicht funktioniert.

+1

Der gleiche Problem auf meiner Seite. Die Dokumentation dieser Bibliothek ist so schlecht. –

+0

Es ist in der Tat. Aber die Tatsache, dass es in der Konsole funktioniert, tötet mich und nicht in Py-Skripten bringt mich um. Ich habe den Entwicklern eine E-Mail geschickt, in der Hoffnung auf eine Antwort. – BernardL

+0

Sie können dies als Fehler auf ihrem GitHub-Konto melden. Wenn Sie an einem seriösen Projekt arbeiten, zögern Sie nicht, alternative Bibliotheken zu benutzen (Beautifulsoop, Scrapy ... und viele andere, die gut dokumentiert sind) –

Antwort

1

In ImageScraper 2.0.7, die Version derzeit verfügbar von PyPI, image_scraper.scrape_images() ist Bug geritten.

Die format_list, die eine Liste von Dateinamenerweiterungen zum Filtern von Bild-URLs darstellt, kann nicht ordnungsgemäß eingerichtet werden. Da standardmäßig [] angegeben wird, werden keine URLs zum Herunterladen ausgewählt.

Darüber hinaus gibt es Aufrufe an nicht existente Funktionen oder genauer, versuchte Aufrufe von Funktionen, die tatsächlich Methoden der Klasse ImageScraper sind.

Ich würde vermeiden, es zu verwenden, oder Sie könnten manuell die ImageScraper Klasse verwenden. Ich sehe, dass Sie bereits ein Problem auf der GitHub-Seite des Projektautors erstellt haben, also möchten Sie vielleicht das Ergebnis abwarten.

+0

Vielen Dank für die interessanten Informationen. und ich stimme zu * Ich würde es vermeiden, * –

0

Dies funktioniert, obwohl es nicht elegant ist - ruft die nicht-Python-Kommandozeilenversion von image_scraper Werkzeug von innen Python:

import subprocess 
import shlex 
for link in your_list_of_links: 
    subprocess.call(shlex.split('image-scraper ' + link)) 
Verwandte Themen