使用python下载百度贴吧的图片,主要用到了urlib、和re 两个模块,具体代码如下:
'''
Created on 2016年4月17日
@author: damuou
@title: 今天学习使用python 来爬取网页上的图片。
'''
import urllib
import re
def getHtml(url):
page=urllib.urlopen(url)
html =page.read()
return html
def getImage(html):
reg = r'src="(.+?\.jpg)" pic_ext'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)
return imglist
def downloadImage(urls):
x=1;
for url in urls:
'urlretrieve解析:直接将远程数据下载到本地。'
'''参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。'''
urllib.urlretrieve(url,'%s.jpg' % x)
x=x+1
if __name__ == '__main__':
html= getHtml("http://tieba.baidu.com/p/2460150866")
print html
imageUrls=getImage(html);
print imageUrls
downloadImage(imageUrls)