在交互平台打印贴吧内的图片的链接地址
1 #coding:utf-8 2 3 import re 4 import urllib //导入库 5 6 def gethtml(url): 7 page=urllib.urlopen(url) //打开链接的页面 8 html=page.read() //读取链接的源码 9 return html 10 11 def getimg(html): 12 reg=r‘src="(.*?\.jpg)" size‘ //正则 13 imgreg=re.compile(reg) //编译正则 14 imglist=re.findall(reg,html) //在源码中查找正则相对应的资源 15 return imglist //返回 16 17 html=gethtml("https://tieba.baidu.com/p/5001345607?red_tag=1020337473") 18 print getimg(html) //打印图片的链接地址
正则解释:
reg=r‘src="(.*?\.jpg)" size‘1.是匹配除换行符\n外的字符2*是匹配前一个字符0次或n次3+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复4.*? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复
下载贴吧内的图片
1 #coding:utf-8 2 import re 3 import urllib 4 5 def geturl(url): 6 page=urllib.urlopen(url) 7 html=page.read() 8 return html 9 10 def getimg(html): 11 r1=r‘src="(.*?\.jpg)"size‘ 12 imgr1=re.compile(r1) 13 imglist=re.findall(imgr1,html) 14 x=0 15 for i in imglist: 16 urllib.urlretrieve(i,‘%s .jpg‘% x) //下载imglist中的图片,并命名为X.jpg 17 x=x+1 18 19 html=geturl("https://tieba.baidu.com/p/5000970745?red_tag=2784248253") 20 getimg(html)
时间: 2024-11-05 18:27:08