1. 程式人生 > >用Python爬取某吧的美圖

用Python爬取某吧的美圖

Talk is cheap, show the code!

import re  
import urllib.request  
def getHtml(url):  
    page=urllib.request.urlopen(url)  
    html=page.read().decode('utf-8')  
    return html  
def getImag(html):  
    reg=r'src="(.*?\.jpg)" size'  
    imgre=re.compile(reg)  
    imglist=re.findall(imgre,html)  
    x=0  
    for imgurl in imglist:  
        urllib.request.urlretrieve(imgurl,'%s.jpg' %x)  
        x+=1  
html=getHtml('http://tieba.baidu.com/p/4894718605')  
print(getImag(html)) 

注:1.我用的Python版本為3.4

        2.在Python3.x版本中,需要匯入的是urllib.request,這裡不同於以前版本

        3.在爬的過程中遇到了:“TypeError:can't use a string pattern on a bytes-like object ”,這個問題,解決辦法為將讀取到的檔案解碼成”utf-8“,即將”html=page.read()“改為”html=page.read().decode('utf-8')“