用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__()

后记:此文是本人原创,转载请注明出处,谢谢合作

时间: 2024-09-30 10:45:47

用python批量下载贴吧图片 附源代码的相关文章

用python批量下载wallheaven网站图片

这要从很早以前说起,那个时候是刚开始玩Ubuntu,但是ubuntu的壁纸不太好看,所以我就想方设法找到很漂亮的壁纸来替换原先的,但是我又想让壁纸像幻灯片一样播放,但是ubuntu不像windows,没有这样的功能,所以只能上网找办法来解决,最后终于在ubuntu论坛看到了variety这个东东,这个东西用起来确实很酷,可以自己编辑图片源,但是它本身默认带了几个源,而恰好其中就有wallheaven(那个时候还是wallpaper,之后网站改了叫做wallheaven),所以我就到wallhea

使用Python批量下载网站图片

  在网上冲浪的时候,总有些"小浪花"令人喜悦.没错,小浪花就是美图啦.边浏览边下载,自然是不错的:不过,好花不常开,好景不常在,想要便捷地保存下来,一个个地另存为还是很麻烦的.能不能批量下载呢? 只要获得图片地址,还是不难的. 目标  太平洋摄影网, 一个不错的摄影网站. 如果你喜欢自然风光的话,不妨在上面好好饱览一顿吧.饱览一顿,或许你还想打包带走呢.这并不是难事,让我们顺藤摸瓜地来尝试一番吧(懒得截图,自己打开网站观赏吧). 首先,我们打开网址 http://dp.pconlin

用python批量下载图片

一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么样的爬虫是违法的: 如果爬虫程序采集到公民的姓名.身份证件号码.通信通讯联系方式.住址.账号密码.财产状况.行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为.除此之外,根据相关规定,对于违反国家有关规定,向他人出售或者提供公民个人信息,情节严重的,窃取或者以其他方法

Python批量下载百度贴吧贴子图片

批量下载贴吧里面某个贴子的所有图片,或者只下载某一页中的图片. #!/usr/bin/env python3 import re import urllib.request class DownTiebaImg: def __init__(self, url): self.url = url def getImgLinks(self): response = urllib.request.urlopen(self.url) pattern = re.compile(r'<img class=&quo

python 批量下载美剧 from 人人影视 HR-HDTV

本人比较喜欢看美剧,尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的所有 HR-HDTV 的 ed2k下载链接,并按照先后顺序写入到文本文件,供下载工具进行批量下载.源代码如下: # python3 实现,下面的实例 3 部美剧爬完大概要 20 s import urllib.request import re def get_links(url, name='yyets'): data = urllib.request.urlopen(

《流畅的Python》高清PDF电子版附源代码下载

本书特色本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner.Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码. ● Python数据模型:理解为什么特殊方法是对象行为一致的关键. ● 数据结构:充分利用内置类型,理解Unicode文本和字节二象性. ● 把函数

自从会了Python在群里斗图就没输过,Python批量下载表情包!

导语 最近图慌,于是随便写了个表情包批量下载的脚本,没什么技术含量,纯娱乐性质. 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: requests模块: fake_useragent模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 爬的站长之家的表情包,链接: http://sc.chinaz.com/biaoqing/index.html 非常好爬,思路也很简单: ① 获得表情包所在地址:

Python 批量下载图片示例

使用Python find函数和urllib下载图片. #!/usr/bin/env python import time import urllib i = 0 url = ['']*10 name = ['']*10 con = urllib.urlopen('http://www.ithome.com/html/bizhi/164396.htm').read() src = con.find(r'/newsuploadfiles') end = con.find(r'.jpg',src)

python批量下载图片的三种方法

一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: selenium则提供了Chrome,IE,FireFox等的支持,每种浏览器都有execute_script和find_element_by_xx方法,可以方便的执行js脚本(包括修改元素)和读取html里面的元素.不足是selenium只提供对python2.6和2.7的支持. 三是用python自带的