import urllib.request
import re
# py抓取页面图片并保存到本地
# 获取页面信息
def getHtml(url):
html = urllib.request.urlopen(url).read()
return html
# 通过正则获取图片
def getImg(html):
reg = r'src="(.+?\.jpg)" pic_ext'
# 括号表示分组,将括号的内容捕获到分组当中
# .+表示匹配至少一个任意字符,问号?表示懒惰匹配,也就是匹配尽可能少的字符串。
# .+?\.jpg合起来表示尽可能少匹配字符的匹配到.jpg,避免匹配范围超出src的范围
# 这个括号也就可以匹配网页中图片的url了
# " pic_ext #匹配" pic_ext
imgre = re.compile(reg)
imglist = re.findall(imgre, html)
# 正则 re.findall的简单用法(返回string中所有与pattern相匹配的全部字串,返回形式为数组)
# findall(pattern, string, flags=0)
print(imglist)
return imglist
html = getHtml("http://tieba.baidu.com/p/2460150866")
list = getImg(html.decode())
# 循环把图片存到本地
x = 0
for imgurl in list:
print(x)
urllib.request.urlretrieve(imgurl, r'%s.jpg' % x)
# %s意思是字符串参数,就是将变量的值传入到字符串里面,字符串后的'%'后就是写要传入的参数
x += 1
# for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1
# urllib.urlretrieve()方法,直接将远程数据下载到本地,保存的位置默认为程序的存放目录
print(getImg(html))
例1.python抓取图片
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 我使用的是macPro , mac 自带了python2.7 , 我自己下载了pytho3.6根据操作进行安装后,...
- 为了提高教学的趣味性,先不从基本的正则表达式入手介绍,用到的时候会解释一下。 先直接一个图片抓取的实例(能快速保存...
- 一、正则表达式正则表达式(regular expression)是由一些特定字符以及组合所组成的字符串表达式,用来...
- 这几天闲来无事,又研究了一下Python的基础内容,首先研究的是如何抓取网页数据。为什么把这篇作为初学者笔记呢?只...