1. 程式人生 > >python3爬蟲下載圖片之常見問題

python3爬蟲下載圖片之常見問題

users code mod 成功 col typeerror 報錯 In python2

剛開始學python3,百度了下python的用法,看到爬蟲下載圖片很好玩,於是百度各種資料學習了下,結果總是運行不成功,最後終於改好了,記錄下。

from urllib import request
import urllib
import re

def getHtml(url):
    page = urllib.request.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = rsrc="(.+?\.jpg)"
    imgre = re.compile(reg)
    html
=html.decode(utf-8)#不寫此行會報錯:TypeError: cannot use a string pattern on a bytes-like object imglist = re.findall(imgre,html) x = 1 for imgurl in imglist: urllib.request.urlretrieve(imgurl,C:/Users/zx/Desktop/images/%s.jpg % x) x+=1 return imglist html = getHtml("http://www.win4000.com/wallpaper_2358_0_10_1.html
") print(getImg(html))

標紅的是python3和python2的不同之處,如不寫則會報錯:AttributeError: module ‘urllib‘ has no attribute ‘urlopen‘

如果返回[ ],可能是正則表達式不對

python3爬蟲下載圖片之常見問題