您的位置:首页 > 编程语言 > Python开发

python学习:urllib库学习:制作简易爬虫下载图片

2015-04-06 09:52 1051 查看
python学习:urllib库学习:制作简易爬虫下载图片

本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
 环境:主机:WIN8版本:python2.7.9
说明:制作简易爬虫,对nba贴吧(http://tieba.baidu.com/f?ie=utf-8&kw=nba&fr=search)的图片进行下载,下载完一页,自动翻页下载
下载的部分图片:

下载中提示:


源代码:import urllib
import re

#搜索所有帖子的链接
def search_link(link_src):
print '报告:搜索所有帖子链接开始!'

page_num = raw_input('请输入需要搜索的页数')

#reg = r'href="(http.+?html)"'
reg = r'href="(/p/.+?)"'
linkre = re.compile(reg)

count = 0
src = link_src
link_list = []
for i in range(int(page_num)):
#打开页面
link_src = src + 'pn=%d' %(i * 50)
page = urllib.urlopen(link_src)
html = page.read()

print '当前第%d页' %(i + 1)
print '当前搜索的链接为',link_src
link_now = re.findall(linkre,html)
print '本页链接数%d' %len(link_now)
x = 0
for x in range(len(link_now)):
link_now[x] = 'http://tieba.baidu.com' + link_now[x]
count = count + 1
print link_now[x],count
link_list.append(link_now[x])

print '报告:搜索所有帖子链接完成!'
return link_list

#下载图片
def download_img(link_list):
print '报告:下载开始!'

#图片过滤规则
reg = r'class="BDE_Image" src="(.+?jpg)"'
imgre = re.compile(reg)

x = 0
for imgurl in link_list:
#打开链接
print '当前打开链接%s' %imgurl
page = urllib.urlopen(imgurl)
html = page.read()
#图片链接表
img_list = re.findall(imgre,html)

for img_url in img_list:
try:
urllib.urlretrieve(img_url,'%s.jpg' %x)
x+=1
print "下载完成第%d张图片:%s" %(x,img_url)
except Exception, e:
print "下载图片失败:%s" %(img_url)

print '报告:下载完成!'

#链接源地址
link_src = "http://tieba.baidu.com/f?kw=nba&ie=utf-8&"
#搜索所有帖子的链接
link_list = search_link(link_src)
#下载图片
download_img(link_list)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: