python下载图片-python下载百度图片,python图片下载程序
以前写的一个百度图片下载的代码,现在试试还能用,现在百度图片的质量也是越来越高了,共享一下,让粉丝和图片控能方便下载:后续功能追加请关注我的小站#coding:utf-8
'''
python 2.7.5
获取一些百度图片
1.指定标签
2.
http://image.baidu.com/channel/listjson?pn=0&rn=1000&tag1=%E6%98%8E%E6%98%9F&tag2=%E5%BC%A0%E5%AD%A6%E5%8F%8B&ftags=&sorttype=0&ie=utf8&oe=utf-8&image_id=692147105
这是获取列表的方式
pn 分页标识
rn 页面内图片数量
tag1 主标签
tag2 分标签
其他字段暂时不管
3.返回的内容json 转字典
4.取download_url就可以了
5.下载
6.多线程加快点效率
'''
from urllib import urlretrieve,urlcleanup
from urllib2 import *
import json
from hashlib import md5
import sys
class Baiduimage():
"""
"""
def __init__(self,tag1,tag2,number = 1,stored = "."):
self.tag1 = tag1
self.tag2 = tag2
self.number = str(number)
self.url = self.make_url()
self.stored = stored
print "work start"
def make_url(self):
url = "http://image.baidu.com/channel/listjson?pn=0&rn="+self.number+"&tag1="+self.tag1+"&tag2="+self.tag2+"&ftags=&sorttype=0&ie=utf8&oe=utf-8"
return url
def request_body(self):
request = Request(self.url)
#request.add_header();
r = urlopen(request)
return r.read()
def parse_body(self):
jsonstr = json.loads(self.request_body())
urls = [i['download_url'] for i in jsonstr['data'] if i.has_key('download_url')]
return (urls,urls.__len__())
def image_name(self, url):
return self.stored+"/"+md5(url).hexdigest()+"."+url.split(".")[-1]
def dowload_image(self):
(urls,urlnumber) = self.parse_body()
def dowload(url):
try:
urlretrieve(url,self.image_name(url))
urlcleanup()
except:
return False
return True
print "want "+self.number+" images, get images links "+str(urlnumber)
if urlnumber == 0:
print "Could not find a image link"
pass
else:
print "Download start press Ctrl+Break to stop "
count = 0
for id,i in enumerate(urls):
if(dowload(i)):
count = count + 1
sys.stdout.write("Dowdload["+str(id+1)+"] has download "+str(count)+chr(8)*80)
sys.stdout.flush()
print " work end"
def dowload_image_thread(self,threadnumber = 2):
"""
"""
(urls,urlnumber) = self.parse_body()
print "Download start press Ctrl+Break to stop "
def dowload(url):
try:
urlretrieve(url,self.image_name(url))
urlcleanup()
except:
return False
return True
from Queue import Queue
from threading import Thread
from itertools import count
def worker(count=count()):
while True:
(id,item) = q.get()
if(dowload(item)):
sys.stdout.write("Dowdload["+str(id+1)+"] has download "+str(next(count) + 1)+chr(8)*80)
sys.stdout.flush()
q.task_done()
q = Queue()
for i in range(threadnumber):
t = Thread(target=worker)
t.daemon = True
t.start()
for id,item in enumerate(urls):
q.put((id,item))
q.join() # block until all tasks are done
print "work end"
if __name__ == "__main__":
print "this is a test with thread "
Baiduimage("明星", "刘德华", 100).dowload_image_thread()#自定义分类 关键词 图片个数 存放路径
python下载图片-python下载百度图片,python图片下载程序相关推荐
- python爬取贴吧所有帖子-Python实现的爬取百度贴吧图片功能完整示例
本文实例讲述了Python实现的爬取百度贴吧图片功能.分享给大家供大家参考,具体如下: #coding:utf-8 import requests import urllib2 import urll ...
- Python爬虫,爬取百度贴吧图片和视频文件,xpath+lxml,访问被拒的原因分析
目录 百度贴吧图片和视频文件爬取程序 1.需求分析 2.url分析 3.Xpath分析 4.程序设计 5.坑点 百度贴吧图片和视频文件爬取程序 1.需求分析 进入百度贴吧,搜索周杰伦,进入周杰伦吧.我 ...
- python爬取百度百科词条-python简单爬虫爬取百度百科python词条网页
目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...
- python从入门到精通百度云-python从入门到精通视频教程百度云资源
python从入门到精通视频教程百度云资源来源 : 华清远见 2019-05-24 随着新技术的不断推进,在未来无论我们是要进入网页开发.数据分析.机器学习.人工智能还是无人车云计算等领域,Pytho ...
- python从入门到放弃百度云-Python从入门到放弃:概论
在本质上,python程序的执行有下面步骤 1.字节码编译 程序执行的时候,Python内部(对用户隐藏)会先将源代码编译成所谓的字节码的形式. 要是python进程在机器上面有写入权限.那么他将程序 ...
- java 获取百度云盘图片_java 利用百度云识别图片文字
一.百度云使用步骤 1.进入https://console.bce.baidu.com/#/index/overview 登录百度云账号.百度所有账号都是通用的,可以直接利用百度的其他账号(百度网盘. ...
- php 图片添加超链接,百度帖吧图片加“超链接”引流量的实现方法
前段时间看到有分析到利用百度帖吧帖图引流量的文章,没有太在意,后来51LA站长交流群里有朋友在找这个的代码,所以就研究了下. 实现方法及代码: 1.建立名称为test.jpg的文件夹,记得是文件夹 2 ...
- 入门级别的Python爬虫代码 爬取百度上的图片
简单讲解下python爬取百度图片的方法还有一些小坑(ps:我是搞.net的所以python只是新手讲错勿怪,注意:系统是windows下的) 首先讲下对百度图片上请求的分析:这里我引用下别人的博客, ...
- python网络爬虫权威指南 百度云-Python网络爬虫权威指南 PDF 第2版
给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.网络爬虫方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小5.54 MB,瑞安·米切尔编写,目前豆瓣.亚马逊. ...
- python编程入门指南上下百度云-Python编程入门指南(上下册)
前言 第1篇 基础篇 第1章 搭建Python开发环境 1.1 Python概述 1.2 Python的下载与安装 1.3 Python开发工具 第2章 Python入门必学 2.1 注释 2.2 代 ...
最新文章
- C#学习笔记—了解C#
- 乾颐堂安德HCIE课程3-OSPF的精华1、2类LSA,区域间的3类LSA和过滤策略
- 关于KVM的几篇细节文档
- rrdtool zabbix mysql_MRTG、Cacti、Rrdtool、Nagios、Zabbix安装比较
- 三、 将DataTable 转换为List
- DCIC巡游车与网约车运营特征对比分析-数据读取
- 总结对象的两个方法valueof和tostring
- ADO.NET知识点
- git 中文文件名乱码
- 网络打印机怎么扫描到计算机,怎么用打印机扫描文件-富士施乐SC2020复印机设置网络扫描到计算机(SMB)...
- ECMALL模板解析机制.MVC架构分析及文件目录说明.二次开发指南手册
- 不负韶华 只争朝夕(2019年终报告)
- WebRTC学习实现视频
- 8 Babylonjs基础入门 相机,模型碰撞和重力效果
- 深度学习笔记——情感分析
- Windows 2003 下手动关闭危险端口
- (三十六):How Will Your Tweet Be Received? Predicting the Sentiment Polarity of Tweet Replies
- vue中使用数组方法push
- 开始使用Sublime Text3啦
- A“一个部族,一个民族,一个弗雷尔卓德。”(素数筛,逆序对,树状数组)...
热门文章
- xshell 上传 下载文件
- ie支持css3圆角实现的俩种方式
- C++中头文件相互包含的几点问题
- MySQL运行状态show status详解
- 【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机...
- LeetCode 205 Isomorphic Strings(同构的字符串)(string、vector、map)(*)
- apple wwdc resource
- 内存管理(链表,指针操作,繁琐)
- 精通八大排序算法系列:二、堆排序算法
- python中文件读写位置的作用-Python中文件的读写、写读和追加写读三种模式的特点...