用python批量下载贴吧图片 附源代码
Posted 我心飞翔2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python批量下载贴吧图片 附源代码相关的知识,希望对你有一定的参考价值。
环境:windows 7 64位;python2.7;IDE pycharm2016.1
功能:
批量下载百度贴吧某吧某页的所有帖子中的所有图片
使用方法:
1.安装python2.7,安装re模块,安装urllib2模块
2.复制以下源代码保存为tbImgiDownloader.py文件
3.打开某个贴吧并复制其网址
4.打开文件tbImgiDownloader.py在第37行的单引号中输入网址,保存
5.双击tbImgiDownloader.py
说明:
1.本程序每次可以下载大概50个贴子中的图片
2.图片名字自动保存为时间+位序
3.如若不能运行,欢迎咨询
4.复制源码时注意别复制行号(我就这样做过-_-|||)
5.觉得好用的同学别忘了点推荐哦!
1 #! /usr/bin/env python 2 #coding=utf-8 3 4 import re,time 5 import urllib2,urllib 6 7 8 def tiebaImgiDownloader(url): 9 ‘‘‘ 10 贴吧jpg格式图片下载器: 11 形式参数某吧某帖子的url地址 12 运行后将保存图片到本目录 13 ‘‘‘ 14 15 pattern = r‘img class="BDE_Image" .*?src="(.*?jpg)"‘#待爬取链接的正则表达式 16 fstr = urllib2.urlopen(url).read()#读取帖子网页源代码为str传给fstr 17 urllist = re.findall(pattern,fstr)#爬取所有与正则表达式匹配的jpg链接,并保存在urllist中 18 urllist = list( set(urllist) ) 19 20 print ‘总共爬取%d个图片链接‘%len(urllist),‘\n‘ 21 22 i = 1 23 for furl in urllist: 24 timestr = time.strftime(‘%Y%m%d%H%M%S‘) 25 urllib.urlretrieve(furl,timestr+‘0%d.jpg‘%i)#逐个下载图片,并命名为当前时间+序数 26 print ‘已保存图片‘,timestr+‘0%d.jpg\n‘%i 27 i+=1 28 29 print ‘图片下载完毕!\n\n\n‘ 30 31 return True 32 33 34 def __main__(): 35 print ‘\n\t\t\t欢迎使用贴吧jpg格式图片下载器!\n‘ 36 37 html = urllib.urlopen(‘‘).read() # 读取某吧某页的网页源代码 。。。。。。。。。。。。。。。。。粘贴网址区。。。。。。。。。。。。。。。。。。。。。。。。。。。。 38 ‘‘‘网址示例 39 1.http://tieba.baidu.com/f?kw=%BE%CF%E6%BA%B5t&fr=ala0&loc=rec小鞠 40 2.http://tieba.baidu.com/f?kw=%E9%9E%A0%E5%A9%A7%E7%A5%8E&ie=utf-8&pn=200小鞠 41 3.http://tieba.baidu.com/f?kw=%E5%A3%81%E7%BA%B8&ie=utf-8&tab=good精品壁纸 42 ‘‘‘ 43 pattern = r‘a href="(.p.[0-9]*)"‘ # 待爬取二级网页网址的正则表达式 44 urllist = re.findall(pattern, html) # 抓取所有二级网页网址,返回list 45 urllist = list(set(urllist)) # 删除重复的二级网页网址 46 preurl = r‘http://tieba.baidu.com‘ # 二级网页网址的前缀网址 47 print ‘抓取%d个二级网页\n‘%len( urllist ) 48 49 for urlOne in urllist: 50 tiebaImgiDownloader(preurl + urlOne) # 下载二级网页中的图片 51 52 return 0 53 54 55 if __name__ == ‘__main__‘: 56 __main__()
后记:此文是本人原创,转载请注明出处,谢谢合作
以上是关于用python批量下载贴吧图片 附源代码的主要内容,如果未能解决你的问题,请参考以下文章