用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.觉得好用的同学别忘了点推荐哦!
#! /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批量下载贴吧图片 附源代码的更多相关文章
- python批量下载淘宝图片3
import urllib.request import os def url_open(url): req = urllib.request.Request(url) req.add_header( ...
- 用Python批量下载DACC的MODIS数据
本人初次尝试用Python批量下载DACC的MODIS数据,记下步骤,提醒自己,数据还在下载,成功是否未知,等待结果中...... 若有大佬发现步骤有不对之处,望指出,不胜感激. 1.下载Python ...
- 用python批量下载图片
一 写爬虫注意事项 网络上有不少有用的资源, 如果需要合理的用爬虫去爬取资源是合法的,但是注意不要越界,前一阶段有个公司因为一个程序员写了个爬虫,导致公司200多个人被抓,所以先进入正题之前了解下什么 ...
- python——批量下载图片
前言 批量下载网页上的图片需要三个步骤: 获取网页的URL 获取网页上图片的URL 下载图片 例子 from html.parser import HTMLParser import urllib.r ...
- 用 Python 批量下载百度图片
为了做一个图像分类的小项目,需要制作自己的数据集.要想制作数据集,就得从网上下载大量的图片,再统一处理. 这时,一张张的保存下载,就显得很繁琐.那么,有没有一种方法可以把搜索到的图片直接下载到本地 ...
- python批量下载微信好友头像,微信头像批量下载
#!/usr/bin/python #coding=utf8 # 自行下载微信模块 itchat 小和QQ496631085 import itchat,os itchat.auto_login() ...
- Python 批量下载BiliBili视频 打包成软件
文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...
- Python - 批量下载 IIS 共享的文件
1.说明 用 IIS 以WEB形式发布了本地文件夹,提供文件下载,并设置了访问权限:默认下载需要点击一个一个的下载,web界面如下: 3.脚本 执行脚本批量下载文件,会在当前目录创建文件夹,并压缩该文 ...
- python批量下载图片的三种方法
一是用微软提供的扩展库win32com来操作IE: win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到). 二是用selenium的webdriver: sele ...
随机推荐
- display:table的几个用法(元素平分宽度,垂直居中)
DIV+CSS的布局已经让表格布局几乎很少用到,除非表格语义性很强的情况. display:table解决了一部分需要使用表格特性但又不需要表格语义的情况, 尤其是DIV+CSS很不方便解决的问题,比 ...
- char*、string、CString各种字符串之间转换
参考博客: http://blog.csdn.net/luoweifu/article/details/20242307 http://blog.csdn.net/luoweifu/article/d ...
- IOS截取部分图片
截取部分图片这么简单: - (void)loadView { [[UIApplication sharedApplication] setStatusBarHidden:YES withAni ...
- UVA Mega Man's Mission(状压dp)
把消灭了那些机器人作为状态S,预处理出状态S下可以消灭的机器人,转移统计方案.方案数最多16!,要用64bit保存方案. #include<bits/stdc++.h> using nam ...
- LigerUI的下拉框行和树的设置(表单生成)
http://blog.csdn.net/dxnn520/article/details/8194767 // ---------------------- // [下拉树设置 -- 单选] {dis ...
- vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解
最近在公司项目中使用vue2.0做开发,在使用checkbox时遇到了一些问题,首先我们先了解一下需求. 如上如所示,在上方复选框被点击时,更改下方p标签的文本内容为:复选框已被选中.并将p标签文字颜 ...
- iftop工具指令选项记录
iftop是实时监控网卡流量的工具,功能十分强大,指令选项非常多,用法比较复杂,下面记录一下命令的选择作用 相关参数及说明 1.iftop界面相关说明 界面上面显示的是类似刻度尺的刻度范围,为显示流量 ...
- 用户和用户组以及 Linux 权限管理
1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...
- Vue2+webpack+node 配置+入门+详解
Vue2介绍 1.vue2.0 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. Vue 的核心库只关注视图层 采用单文件组件 复杂大型单页应用程序(SPA) 响 ...
- JavaScript 字符串分行、Return 语句使用注意事项
JavaScript 字符串分行 JavaScript 允许我们在字符串中使用断行语句: var x ="Hello World!"; 但是,在字符串中直接使用回车换行是会报错的: ...