Heim  >  Artikel  >  Backend-Entwicklung  >  Erklären Sie den Beispielcode zum Schreiben eines Python-Crawlers zum Erfassen von GIF-Bildern in Rampage-Comics

Erklären Sie den Beispielcode zum Schreiben eines Python-Crawlers zum Erfassen von GIF-Bildern in Rampage-Comics

高洛峰
高洛峰Original
2017-03-10 13:53:082466Durchsuche

In diesem Artikel wird erklärt, wie man einen Beispielcode für den Python-Crawler schreibt, um GIF-Bilder in Rampage-Comics zu erfassen. Der Beispielcode ist Python3, der das URL-Modul, das Request-Modul und das BeautifulSoup-Modul verwendet 🎜>

Der Crawler, den ich vorstellen möchte, besteht darin, die interessanten GIF-Bilder der Rampage-Comics für die Offline-Anzeige zu erfassen. Der Crawler wurde mit Python3.3 entwickelt, hauptsächlich unter Verwendung der Module urllib, request und BeautifulSoup.

Das urllib-Modul bietet eine High-Level-Schnittstelle zum Abrufen von Daten aus dem World Wide Web. Wenn wir urlopen() zum Öffnen einer URL verwenden, entspricht dies der Verwendung von Pythons integriertem open() zum Öffnen eine Datei. Der Unterschied besteht jedoch darin, dass Ersteres eine URL als Parameter erhält und es keine Möglichkeit gibt, einen Suchvorgang für den geöffneten Dateistream durchzuführen (aus einer Perspektive auf niedriger Ebene ist es natürlich, dass dort ein Socket betrieben wird, da es sich tatsächlich um einen Socket handelt). Es gibt keine Möglichkeit, eine Suchoperation auszuführen, während letzteres empfangen wird. Es handelt sich um einen lokalen Dateinamen.

Das BeautifulSoup-Modul von Python kann Ihnen beim Parsen von HTML und XML helfen.

Zuerst schreiben Sie im Allgemeinen einen Webcrawler, dh crawlen den HTML-Quellcode und andere Inhalte der Webseite und analysieren ihn dann und extrahieren Sie den entsprechenden Inhalt.
Bei dieser Art von Arbeit zur Analyse von HTML-Inhalten reicht es im Grunde aus, Webseiten mit einfachem Inhalt zu analysieren, wenn Sie nur das gewöhnliche Re-Modul für reguläre Ausdrücke verwenden, um Stück für Stück abzugleichen.
Wenn Sie jedoch HTML mit hohem Arbeitsaufwand und komplizierten Inhalten analysieren müssen, ist die Implementierung mit dem re-Modul unmöglich oder schwierig.
Wenn Sie das beautifulsoup-Modul zur Analyse von HTML-Quellcode verwenden, werden Sie feststellen, dass die Dinge so einfach werden, was die Effizienz der Analyse von HTML-Quellcode erheblich verbessert.
Hinweis: BeautifulSoup ist eine Bibliothek eines Drittanbieters, ich verwende bs4. urllib2 ist urllib.request in Python3 zugewiesen. Der Originaltext im Dokument lautet wie folgt.
Hinweis: Das urllib2-Modul wurde in Python 3 auf mehrere Module mit den Namen urllib.request und urllib.error aufgeteilt.
Der Crawler-Quellcode lautet wie folgt

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

import urllib.request
import bs4,os

page_sum = 1 #设置下载页数

path = os.getcwd()
path = os.path.join(path,'暴走GIF')
if not os.path.exists(path):
  os.mkdir(path)                 #创建文件夹

url = "http://baozoumanhua.com/gif/year"   #url地址
headers = {                     #伪装浏览器
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'
         ' Chrome/32.0.1700.76 Safari/537.36'
}

for count in range(page_sum):
  req = urllib.request.Request(
    url = url+str(count+1),
    headers = headers
  )
  print(req.full_url)
  content = urllib.request.urlopen(req).read()

  soup = bs4.BeautifulSoup(content)          # BeautifulSoup
  img_content = soup.findAll('img',attrs={'style':'width:460px'})

  url_list = [img['src'] for img in img_content]   #列表推导 url
  title_list = [img['alt'] for img in img_content]  #图片名称

  for i in range(url_list.__len__()) :
    imgurl = url_list[i]
    filename = path + os.sep +title_list[i] + ".gif"
    print(filename+":"+imgurl)             #打印下载信息
    urllib.request.urlretrieve(imgurl,filename)    #下载图片

In Zeile 15 können Sie die Anzahl der heruntergeladenen Seiten ändern. Speichern Sie diese Datei als baozougif.py. Nach dem Ausführen des Befehls python baozougif.py wird ein Ordner mit „Rampage GIF“ generiert Alle Bilder werden automatisch in dieses Verzeichnis heruntergeladen.

Das obige ist der detaillierte Inhalt vonErklären Sie den Beispielcode zum Schreiben eines Python-Crawlers zum Erfassen von GIF-Bildern in Rampage-Comics. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn