python3爬蟲下載圖片之常見問題
阿新 • • 發佈:2018-06-07
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 = r‘src="(.+?\.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爬蟲下載圖片之常見問題