| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
import urllib.request 
import re 
 
 
def open_url(url): 
     
    req=urllib.request.Request(url) 
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0') 
    response = urllib.request.urlopen(req) 
    html=response.read().decode('utf-8')#图片不能decode,因为是2进制 
    #print(html) 
    return html 
 
 
def get_imgs(html): 
    p=r'<img class="BDE_Image" src="([^"]+\.jpg)' 
    imglist=re.findall(p,html) 
    ''' 
    for each in imglist: 
        print(each) 
    ''' 
    for each in imglist: 
        filename=each.split('/')[-1] 
        urllib.request.urlretrieve(each,filename,None) 
        #print(each) 
 
 
if __name__=='__main__': 
    ur=input('请输入要获取的女神吧博客网页:') 
    url=ur 
    get_imgs(open_url(url)) 
 
这是小甲鱼的一个例子 就是从贴吧下图片那个 
我注释了一个#print(each) 
这个注释会让我下载额外的一张无关的图片是为啥啊 
就是本来下载两张会有一张是无关的且不随机的一张图片
是正则的贪婪模式的问题吧,建议获取jpg地址那句下面print一下看下p是不是jpg的地址,关闭贪婪模式用?号 
 
 
 |   
 
 
 
 |