Batch-Download-Bilder von einer bestimmten URL mit Python Modified-Version

Einführung

In "Batch-Download-Bilder von bestimmten URLs mit Python", das ich beispielsweise zuvor als modifizierte Version geschrieben habe Dieses Mal habe ich das Problem behoben, dass ich das Bild aufgrund von FEHLER nicht herunterladen konnte.

Bearbeiteter Code

Ich habe nur beurteilt, ob es "../" gibt, aber ich habe es hinzugefügt, weil ich nicht an die Zeit ohne Domain gedacht habe. Das Urteil löste das Problem, indem Sie es so herunterladen konnten, wie es ist, wenn "http: //" oder "https: //" vorhanden ist, oder indem Sie die zuerst eingegebene URL voranstellen.

Vor dem Bearbeiten


    for j in range(0,(len_url-1)):
        url = number_url[j]
        print (url)
        if("../" in url):
            root_url = get_url_root(serch_url)
            if(root_url!=0):
                url = url.replace("..",root_url)
                print url
                download(url)
        else:
            download(input_url + url)

Nach der Bearbeitung


    for j in range(0,(len_url-1)):
        url = number_url[j]
        print (url)
        if("../" in url):
            root_url = get_url_root(serch_url)
            if(root_url!=0):
                url = url.replace("..",root_url)
                print url
                download(url)
        elif("http://" in url):
            download(url)
        elif("https://" in url):
            download(url)
        else:
            download(input_url + url)

Alle Codes

get_image.py


# -*- coding: utf-8 -*- 

import urllib
import urllib2
import os.path
import sys
from HTMLParser import HTMLParser

def download(url):
    img = urllib.urlopen(url)
    localfile = open(os.path.basename(url), 'wb')
    localfile.write(img.read())
    img.close()
    localfile.close()

def get_url_root(url):
    if("http://" in url):
        url_delet_http = url.lstrip("http://")
        if("/" in url_delet_http):
            url_root = "http://" + url_delet_http[0:url_delet_http.find("/")]
            return url_root
    elif("https://" in url):
        url_delet_http = url.lstrip("https://")
        if("/" in url_delet_http):
            url_root = "http://" + url_delet_http[0:url_delet_http.find("/")]
            return url_root
    return 0

class imgParser(HTMLParser):

    def __init__(self):
        HTMLParser.__init__(self)

    def handle_starttag(self,tagname,attribute):
        if tagname.lower() == "img":
            for i in attribute:
                if i[0].lower() == "src":
                    img_url=i[1]
                    #Erstellen einer Datei, in der die URLs der erfassten Fotos erfasst werden
                    f = open("collection_url.txt","a")
                    f.write("%s\t"%img_url)
                    f.close()

if __name__ == "__main__":

    print('Geben Sie die URL der Site ein, auf der Sie das Foto erhalten möchten.')
    input_url = raw_input('>>>  ')
    serch_url = input_url
    htmldata = urllib2.urlopen(serch_url)

    print('Derzeit werden Bilddateien abgerufen...')

    parser = imgParser()
    parser.feed(htmldata.read())

    parser.close()
    htmldata.close()

    #Lesen Sie die generierte Datei
    f = open("collection_url.txt","r")
    for row in f:
        row_url = row.split('\t')
        len_url = len(row_url)
    f.close()

    number_url = []

    for i in range(0,(len_url-1)):
        number_url.append(row_url[i])

    for j in range(0,(len_url-1)):
        url = number_url[j]
        print (url)
        if("../" in url):
            root_url = get_url_root(serch_url)
            if(root_url!=0):
                url = url.replace("..",root_url)
                print url
                download(url)
        elif("http://" in url):
            download(url)
        elif("https://" in url):
            download(url)
        else:
            download(input_url + url)

    print('Der Bilddownload ist abgeschlossen.')

    #Datei löschen
    os.remove("collection_url.txt")

Recommended Posts

Batch-Download-Bilder von einer bestimmten URL mit Python Modified-Version
Massen-Download-Bilder von einer bestimmten URL mit Python
Massen-Download-Bilder von einer bestimmten Site-URL mit Python
Laden Sie Bilder von der URL-Liste in Python herunter
Installationsverfahren für Python und Ansible mit einer bestimmten Version
Schreiben Sie ein Batch-Skript mit Python3.5 ~
Aufrufbefehle von Python (Windows Edition)
[Python] Laden Sie das Originalbild von der Google Bildsuche herunter
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Lesen Sie mit Python Zeile für Zeile aus der Datei
Extrahieren Sie mit Python Daten von einer Webseite
Erstellen Sie einen Stapel von Bildern und blasen Sie sie mit ImageDataGenerator auf
URL-Verkürzung mit Python
Python2 / numpy> Ersetzen Sie nur eine bestimmte Spalte in einer Datei durch Spaltendaten aus einer anderen Datei> numpy.c_
Überprüfen Sie die Version mit Python
[Python] Starten Sie eine Batchdatei aus Python und übergeben Sie Variablen.
Ein Memo, das mit Python & Spark Daten aus dashDB liest
Erkennen Sie mit Python Objekte einer bestimmten Farbe und Größe
Hasch mit Python und entkomme dem Ego eines bestimmten Ministers
Laden Sie Bilder automatisch mit Scraping herunter
Angrenzende Bilder mit Python Teil 1
Machen Sie eine Lotterie mit Python
Geben Sie die Python-Version mit virtualenv an
Erstellen Sie ein Verzeichnis mit Python
Mit Skype benachrichtigen Sie mit Skype von Python!
Laden Sie die CSV-Datei mit Python herunter
Starten eines mit Jupyter Notebook erstellten Python-Programms
Versuchen Sie, mit Python3 eine Zeichenfolge aus einem Bild zu extrahieren
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Lesen Sie die Datei in Python mit einem relativen Pfad aus dem Programm
[Hinweis] Verwenden eines 16x2-stelligen LCD-Zeichens (1602A) von Python mit Raspeye
Übergeben Sie die Liste von Python an C ++ als Referenz in pybind11
[Python] Versuchen Sie, Zeichen aus Bildern mit OpenCV und pyocr zu erkennen
Zahlenerkennung in Bildern mit Python
Führen Sie das Python-Skript aus der Batchdatei aus
[Python] Was ist eine with-Anweisung?
Löse ABC163 A ~ C mit Python
Bedienen Sie den Belegdrucker mit Python
Python-Grafikhandbuch mit Matplotlib.
Rufen Sie C von Python mit DragonFFI auf
Berühren Sie Python-Objekte in Elixir
Laden Sie Bilder von "Irasutoya" mit Scrapy herunter
Verwenden von Rstan aus Python mit PypeR
Lassen Sie uns eine GUI mit Python erstellen.
Installieren Sie Python von der Quelle mit Ansible
Löse ABC166 A ~ D mit Python
Bilder können mit Google_images_download nicht heruntergeladen werden
Erstellen einer virtuellen Umgebung mit Python 3
Python / Machen Sie ein Diktat aus einer Liste.
Löse ABC168 A ~ C mit Python
Extrahieren Sie mit Python Text aus Bildern
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Erstellen Sie ein Empfehlungssystem mit Python
Führen Sie Aprili von Python auf Orange aus
Poste ein Bild von Python auf Tumblr
Animieren Sie mehrere Standbilder mit Python
Generieren Sie eine vorsignierte URL mit golang
Laden Sie das GIF-Bild mit Python + OpenCV
[Python] Generiere ein Passwort mit Slackbot