|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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的地址,关闭贪婪模式用?号
|
|