环境: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.觉得好用的同学别忘了点推荐哦!

 #! /usr/bin/env python
#coding=utf-8 import re,time
import urllib2,urllib def tiebaImgiDownloader(url):
'''
贴吧jpg格式图片下载器:
形式参数某吧某帖子的url地址
运行后将保存图片到本目录
''' pattern = r'img class="BDE_Image" .*?src="(.*?jpg)"'#待爬取链接的正则表达式
fstr = urllib2.urlopen(url).read()#读取帖子网页源代码为str传给fstr
urllist = re.findall(pattern,fstr)#爬取所有与正则表达式匹配的jpg链接,并保存在urllist中
urllist = list( set(urllist) ) print '总共爬取%d个图片链接'%len(urllist),'\n' i = 1
for furl in urllist:
timestr = time.strftime('%Y%m%d%H%M%S')
urllib.urlretrieve(furl,timestr+'0%d.jpg'%i)#逐个下载图片,并命名为当前时间+序数
print '已保存图片',timestr+'0%d.jpg\n'%i
i+=1 print '图片下载完毕!\n\n\n' return True def __main__():
print '\n\t\t\t欢迎使用贴吧jpg格式图片下载器!\n' html = urllib.urlopen('').read() # 读取某吧某页的网页源代码 。。。。。。。。。。。。。。。。。粘贴网址区。。。。。。。。。。。。。。。。。。。。。。。。。。。。
'''网址示例
1.http://tieba.baidu.com/f?kw=%BE%CF%E6%BA%B5t&fr=ala0&loc=rec小鞠
2.http://tieba.baidu.com/f?kw=%E9%9E%A0%E5%A9%A7%E7%A5%8E&ie=utf-8&pn=200小鞠
3.http://tieba.baidu.com/f?kw=%E5%A3%81%E7%BA%B8&ie=utf-8&tab=good精品壁纸
'''
pattern = r'a href="(.p.[0-9]*)"' # 待爬取二级网页网址的正则表达式
urllist = re.findall(pattern, html) # 抓取所有二级网页网址,返回list
urllist = list(set(urllist)) # 删除重复的二级网页网址
preurl = r'http://tieba.baidu.com' # 二级网页网址的前缀网址
print '抓取%d个二级网页\n'%len( urllist ) for urlOne in urllist:
tiebaImgiDownloader(preurl + urlOne) # 下载二级网页中的图片 return 0 if __name__ == '__main__':
__main__()

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

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

  1. python批量下载淘宝图片3

    import urllib.request import os def url_open(url): req = urllib.request.Request(url) req.add_header( ...

  2. 用Python批量下载DACC的MODIS数据

    本人初次尝试用Python批量下载DACC的MODIS数据,记下步骤,提醒自己,数据还在下载,成功是否未知,等待结果中...... 若有大佬发现步骤有不对之处,望指出,不胜感激. 1.下载Python ...

  3. 用python批量下载图片

    一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么 ...

  4. python——批量下载图片

    前言 批量下载网页上的图片需要三个步骤: 获取网页的URL 获取网页上图片的URL 下载图片 例子 from html.parser import HTMLParser import urllib.r ...

  5. 用 Python 批量下载百度图片

    ​ 为了做一个图像分类的小项目,需要制作自己的数据集.要想制作数据集,就得从网上下载大量的图片,再统一处理. 这时,一张张的保存下载,就显得很繁琐.那么,有没有一种方法可以把搜索到的图片直接下载到本地 ...

  6. python批量下载微信好友头像,微信头像批量下载

    #!/usr/bin/python #coding=utf8 # 自行下载微信模块 itchat 小和QQ496631085 import itchat,os itchat.auto_login() ...

  7. Python 批量下载BiliBili视频 打包成软件

    文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...

  8. Python - 批量下载 IIS 共享的文件

    1.说明 用 IIS 以WEB形式发布了本地文件夹,提供文件下载,并设置了访问权限:默认下载需要点击一个一个的下载,web界面如下: 3.脚本 执行脚本批量下载文件,会在当前目录创建文件夹,并压缩该文 ...

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

    一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: sele ...

随机推荐

  1. C#使用Aspose.Words操作word文档

    最近接到个需求,由于客服这边要导出大量有一定规则的word文件,里面的内容希望系统自动填充,例如 这里我使用Aspose.Words.dll这个类库, 1.首先,我们需要创建模板文件,毕竟有规则的东西 ...

  2. php之cURL惯用

    1.php cURL的强大:PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器.使用各种协议.libcurl 目前支持的协议有 http.https.ft ...

  3. spark dataframe函数编程

    DataFrame 的函数 Action 操作 1. collect() ,返回值是一个数组,返回dataframe集合所有的行 2. collectAsList() 返回值是一个Java类型的数组, ...

  4. 优化通过redis实现的一个抢红包流程【下】

    上一篇文章通过redis实现的抢红包通过测试发现有严重的阻塞的问题,抢到红包的用户很快就能得到反馈,不能抢到红包的用户很久(10秒以上)都无法获得抢红包结果,起主要原因是: 1.用了分布式锁,导致所有 ...

  5. SpringBoot学习4:springboot整合listener

    整合方式一:通过注解扫描完成 Listener 组件的注册 1.编写listener package com.bjsxt.listener; import javax.servlet.ServletC ...

  6. java面试题:如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。

    package com.swift; public class TotalNumber_String { public static void main(String[] args) { /* * 如 ...

  7. 谭浩强 c++程序设计第一章课后习题 第10题

    #include <iostream> using namespace std; int main() { int a,b,c; cout<<"请输入三个整数类型的数 ...

  8. 随机数生成器java实现

    /** 设计一个随机数生成器,可以产生给定平均概率的随机证书序列. 即输入一个概率比如:0.9 然后输入要求的概率样本个数比如:1000 输出一个接近所输入的0.9的概率数(要求样本数越大越接近输入的 ...

  9. Linux问题分析或解决_samba无法连接

    1. windows设置方面问题 问题:window能连接部分服务器的samba共享,一部分无法连接.报错如截图. 解决:前提---其他人连接都没有问题,发现有问题的连接服务器的电脑是win10,而w ...

  10. 网络编程协议(TCP和UDP协议,粘包问题)以及socketserver模块

    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 ...