Python Reptil Batch Bilder herunterladen

Heute Überstunden ah, verdammt hart! !

Bored, geschrieben in Python ein Reptil Bild gefangen, ich fühle ichduersiees sehr schön, ha ha

Zuerst einfügen Code: (Python Version: 2.7.9)

__author__ = 'bloodchilde'
 
 
Import urllib
Import urllib2
import re
import os
 
Klasse Spider:
    def __init __ (self):
        self.siteUrl = "http://sc.chinaz.com/biaoqing/"
        self.user_agent = ‚Mozilla / 5.0 (Windows 6.1 NT; WOW64; Trident / 7.0; rv: 11.0) wie Gecko‘
        self.headers = { 'User-Agent': self.user_agent}
 
    def getPage (self, pageindex):
        url = self.siteUrl + "index _" + str ( pageindex) + "HTML"
        request = urllib2.Request (url, headers = self.headers)
        response = urllib2.urlopen (request)
        return response.read (). decode ( "UTF-8")
 
    def getContents (self, pageindex ):
        page = self.getPage (pageindex)
 
        pattern = re.compile ( '' '<div. *? class =' NUM_1' . *?>. *? <p>. *? <a. *? href =‘. * ?‘. *? target = '_ blank'. *? title = '(. *?)'. *?> <img. *? src2 = "(. *?)". *?>. *? </ a .?> * </ p> * </ div> ''‘, re.S).?
 
        items = re.findall (Muster, Seite)
 
        Inhalt = []
 
        für Artikel in Artikel:
            contents.append ([Artikel [0 ] Artikel [1]])
        return Inhalt
 
    def mk_dir (self, Pfad):
 
 
        isExisist = os.path.exists (Pfad) ,
 
        wenn nicht isExisist:
            os.makedirs (Pfad)
            return true
        else:
            return false
 
    def downImage (self,url, dirname):
        imageUrl = url
        request = urllib2.Request (imageUrl, headers = self.headers)
        response = urllib2.urlopen (request)
        imageContents = response.read ()
 
        urlArr imageUrl.split = (u "/")
        imagename = Str (urlArr [Len (urlArr) -1])
 
        drucken imagename
 
        path = u "C: / Benutzer / bloodchilde / Desktop / image_python /" + dirname
 
        self.mk_dir (Pfad)
 
        imagePath = path + u "/" + imagename
 
        f = open (imagePath, 'wb')
        f.write (imageContents)
        f.close ()
 
    def downLoadAllPicture (self, Pageindex):
        contents = self.getContents (Pageindex)
 
        für die Liste in Inhalt:
            dirname = Liste [0]
            imageUrl = Liste [1]
            self.downImage (imageUrl, dirname)
 
 
 
 
Demo = Spider ()
 
für Seite in Reichweite (3.100):
    demo.downLoadAllPicture (Seite)
 

Die Ergebnisse sind wie folgt:


Laden Sie so viele Bilder, und sofort erhalten Sie die folgenden Verfahren zu analysieren:

Zunächst einmal mein Ziel Seite lautet:

http://sc.chinaz.com/biaoqing/index_3.html

Programm-Features auf dieser Seite herunterladen Emoticons

Programmideen:

1, Zugriff auf den Quellcode der Web-Seite Informationen

2, analysieren den Quellcode die URL zum Download von Bildern (reguläres Verfahren) zu erhalten

3, Neupositionierung get Informationen url url url eine Anfrage zu diesem Bild zu initiieren, das Bild ist tatsächlich der URL-Informationen Inhalt Inhalt

4, die durch die Bild oben URL erhalten wird, kann auch ein Bild des Namens (Namensuffix) nehmen imagename

5, erstellen Sie eine Datei im lokalen imagename die Namen zu erhalten, wird der Inhalt der Inhalte in die Datei geschrieben werden

Öffnen Sie http://sc.chinaz.com/biaoqing/index_3.html, Quelltext anzeigen, finden Sie das Codesegment angesprochen werden, wie folgt:

Entsprechende regulär ist:

'' '<Div. *? Class =' ​​NUM_1' . *?>. *? <P>. *? <A. *? Href = '*?'. *? Target = '_ blank'. *? Title = '(. *?)'. *?> <img. *? src2 = "(. *?)". *?>. *? </a>. *? </ p>. *? </ div > ''‘

Sie von dem Erhalt Titel und Snippet src2, Titel als Ordnernamen, src2 Bild als Ziel der URL
----------------
Haftungsausschluss: Dieser Artikel ist CSDN Blogger „Little Wei „der ursprüngliche Artikel, folgen Sie dem CC 4.0 BY-SA Copyright - Abkommen, reproduziert, bitte die ursprüngliche Quelle Link und diese Aussage anhängen.
Original - Link: https: //blog.csdn.net/dai_jing/article/details/46661969

Veröffentlicht 91 Originalarbeiten · erntete Lob 47 · Ansichten 90000 +

Ich denke du magst

Origin blog.csdn.net/qq_30007885/article/details/102521390
Empfohlen
Rangfolge