以前写的一个百度图片下载的代码,现在试试还能用,现在百度图片的质量也是越来越高了,共享一下,让粉丝和图片控能方便下载:后续功能追加请关注我的小站#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图片下载程序相关推荐

  1. python爬取贴吧所有帖子-Python实现的爬取百度贴吧图片功能完整示例

    本文实例讲述了Python实现的爬取百度贴吧图片功能.分享给大家供大家参考,具体如下: #coding:utf-8 import requests import urllib2 import urll ...

  2. Python爬虫,爬取百度贴吧图片和视频文件,xpath+lxml,访问被拒的原因分析

    目录 百度贴吧图片和视频文件爬取程序 1.需求分析 2.url分析 3.Xpath分析 4.程序设计 5.坑点 百度贴吧图片和视频文件爬取程序 1.需求分析 进入百度贴吧,搜索周杰伦,进入周杰伦吧.我 ...

  3. python爬取百度百科词条-python简单爬虫爬取百度百科python词条网页

    目标分析: 目标:百度百科python词条相关词条网页 - 标题和简介 入口页:https://baike.baidu.com/item/Python/407313 URL格式: - 词条页面URL: ...

  4. python从入门到精通百度云-python从入门到精通视频教程百度云资源

    python从入门到精通视频教程百度云资源来源 : 华清远见 2019-05-24 随着新技术的不断推进,在未来无论我们是要进入网页开发.数据分析.机器学习.人工智能还是无人车云计算等领域,Pytho ...

  5. python从入门到放弃百度云-Python从入门到放弃:概论

    在本质上,python程序的执行有下面步骤 1.字节码编译 程序执行的时候,Python内部(对用户隐藏)会先将源代码编译成所谓的字节码的形式. 要是python进程在机器上面有写入权限.那么他将程序 ...

  6. java 获取百度云盘图片_java 利用百度云识别图片文字

    一.百度云使用步骤 1.进入https://console.bce.baidu.com/#/index/overview 登录百度云账号.百度所有账号都是通用的,可以直接利用百度的其他账号(百度网盘. ...

  7. php 图片添加超链接,百度帖吧图片加“超链接”引流量的实现方法

    前段时间看到有分析到利用百度帖吧帖图引流量的文章,没有太在意,后来51LA站长交流群里有朋友在找这个的代码,所以就研究了下. 实现方法及代码: 1.建立名称为test.jpg的文件夹,记得是文件夹 2 ...

  8. 入门级别的Python爬虫代码 爬取百度上的图片

    简单讲解下python爬取百度图片的方法还有一些小坑(ps:我是搞.net的所以python只是新手讲错勿怪,注意:系统是windows下的) 首先讲下对百度图片上请求的分析:这里我引用下别人的博客, ...

  9. python网络爬虫权威指南 百度云-Python网络爬虫权威指南 PDF 第2版

    给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.网络爬虫方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小5.54 MB,瑞安·米切尔编写,目前豆瓣.亚马逊. ...

  10. python编程入门指南上下百度云-Python编程入门指南(上下册)

    前言 第1篇 基础篇 第1章 搭建Python开发环境 1.1 Python概述 1.2 Python的下载与安装 1.3 Python开发工具 第2章 Python入门必学 2.1 注释 2.2 代 ...

最新文章

  1. C#学习笔记—了解C#
  2. 乾颐堂安德HCIE课程3-OSPF的精华1、2类LSA,区域间的3类LSA和过滤策略
  3. 关于KVM的几篇细节文档
  4. rrdtool zabbix mysql_MRTG、Cacti、Rrdtool、Nagios、Zabbix安装比较
  5. 三、 将DataTable 转换为List
  6. DCIC巡游车与网约车运营特征对比分析-数据读取
  7. 总结对象的两个方法valueof和tostring
  8. ADO.NET知识点
  9. git 中文文件名乱码
  10. 网络打印机怎么扫描到计算机,怎么用打印机扫描文件-富士施乐SC2020复印机设置网络扫描到计算机(SMB)...
  11. ECMALL模板解析机制.MVC架构分析及文件目录说明.二次开发指南手册
  12. 不负韶华 只争朝夕(2019年终报告)
  13. WebRTC学习实现视频
  14. 8 Babylonjs基础入门 相机,模型碰撞和重力效果
  15. 深度学习笔记——情感分析
  16. Windows 2003 下手动关闭危险端口
  17. (三十六):How Will Your Tweet Be Received? Predicting the Sentiment Polarity of Tweet Replies
  18. vue中使用数组方法push
  19. 开始使用Sublime Text3啦
  20. A“一个部族,一个民族,一个弗雷尔卓德。”(素数筛,逆序对,树状数组)...

热门文章

  1. xshell 上传 下载文件
  2. ie支持css3圆角实现的俩种方式
  3. C++中头文件相互包含的几点问题
  4. MySQL运行状态show status详解
  5. 【安富莱原创开源应用第3期】花式玩转网络摄像头之VNC远程桌面版本,稳定运行2年不死机...
  6. LeetCode 205 Isomorphic Strings(同构的字符串)(string、vector、map)(*)
  7. apple wwdc resource
  8. 内存管理(链表,指针操作,繁琐)
  9. 精通八大排序算法系列:二、堆排序算法
  10. python中文件读写位置的作用-Python中文件的读写、写读和追加写读三种模式的特点...