今天给大家写分享一个爬虫小程序,用来抓取贴吧的一些图片 picture.py。
步骤:
1、获取指定网页源代码,建议request一下。
2、匹配正则
3、利用urlretrieve下载
在这儿呢需要注意的是urlretrieve(path,name)
path指的是保存路径,默认是当前路径,也就是picture.py所在的路径,具体来说:
urlretrieve(url, filename=None, reporthook=None, data=None)
参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。
干货代码:
import re
import urllib,urllib2
def gethtml(url):
request = urllib2.Request(url)
html = urllib2.urlopen(url)
html = html.read()
return html
def imge(html,x):
reg = r'src="(http://imgsrc.*?\.jpg)'
imgre = re.compile(reg)
imglist = re.findall(reg,html)
for i in imglist:
urllib.urlretrieve(i,'%s.jpg' % x)
x=x+1
print i
return x
x=1
url = 'http://tieba.baidu.com/p/4762204702?'
html=gethtml(url)
imge(html,x)