国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Web crawler - Comment explorer les images du blog Blog Park en utilisant Python??
某草草
某草草 2017-05-18 10:45:39
0
1
1117

J'ai écrit un petit morceau de code pour explorer les images du blog Blog Park. Ce code est efficace pour certains liens, mais certains liens signalent des erreurs dès qu'ils sont explorés. Quelle en est la raison ?

#coding=utf-8

import urllib
import re
from lxml import etree

#解析地址
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

#獲取地址并建樹(shù)
url = "http://www.cnblogs.com/fnng/archive/2013/05/20/3089816.html"
html = getHtml(url)
html = html.decode("utf-8")
tree = etree.HTML(html)

#保存圖片至本地
reg = r'src="(.*?)" alt'
imgre = re.compile(reg)
imglist = re.findall(imgre, html)
x = 0
for imgurl in imglist:
    urllib.urlretrieve(imgurl, '%s.jpg' % x)
    x += 1

Comme le montre l'image, l'image peut être explorée correctement

Si vous changez l'URL en

url = "http://www.cnblogs.com/baronzhang/p/6861258.html"

Ensuite, une erreur sera signalée immédiatement

Veuillez le résoudre, merci?!

某草草
某草草

répondre à tous(1)
我想大聲告訴你

Le message d'erreur est déjà très évident. Si vous regardez le code source de la page Web, la première image correspondante est au format GIF, et il s'agit toujours d'un chemin relatif, vous ne pouvez donc pas la télécharger, donc cela provoque IOerror, même si vous l'avez téléchargé, parce que vous avez spécifié le format JPG, vous ne pouvez pas l'ouvrir. Il ne vous reste plus qu'à juger et filtrer

for imgurl in imglist:
    if "gif" not in imgurl:
        urllib.urlretrieve(imgurl, '%s.jpg' % x)
        x += 1

Regardez ce que j'ai ajouté. Bien s?r, ce n'est que le jugement le plus simple, mais cela peut garantir que votre deuxième programme ne signalera pas d'erreur, et cela vous donne aussi une idée !

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal