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

Webcrawler – Wie crawle ich die Bilder im Blog Park-Blog mit Python?
某草草
某草草 2017-05-18 10:45:39
0
1
1115

Ich habe einen kleinen Code geschrieben, um die Bilder im Blog Park zu crawlen. Dieser Code ist für einige Links wirksam, aber einige Links melden Fehler, sobald sie gecrawlt werden.

#coding=utf-8

import urllib
import re
from lxml import etree

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

#獲取地址并建樹
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

Wie im Bild gezeigt, kann das Bild korrekt gecrawlt werden

Wenn Sie die URL in

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

Dann wird ein Fehler sofort gemeldet

Bitte l?sen Sie es, danke!

某草草
某草草

Antworte allen(1)
我想大聲告訴你

錯誤提示已經(jīng)很明顯了,你去看下網(wǎng)頁源代碼,匹配到的第一張圖片是一個GIF格式的,并且還是相對路徑,所以你是下載不到的,故提示IOerror,就算你下載到了,因為你指定了格式為JPG,你也打不開。 因此你需要做的就是判斷和篩選

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

看下我增加的地方,當(dāng)然這只是最簡單的判斷,但可以保證你第二個程序不會報錯,也是給你一個思路!

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage