python根据搜索词下载百度图片
- # coding=utf-8
- """根据搜索词下载百度图片"""
- import re
- import urllib
- import os
- def get_onepage_urls(onepageurl):
- """获取单个翻页的所有图片的urls+当前翻页的下一翻页的url"""
- try:
- page = urllib.urlopen(onepageurl) # urllib.urlopen()方法用于打开一个URL地址
- html = page.read() # read()方法用于读取URL上的数据
- except Exception as e:
- pic_urls = []
- fanye_url = ''
- return pic_urls, fanye_url
- pic_urls = re.findall('"objURL":"(.*?)",', html, re.S)
- fanye_urls = re.findall(re.compile(r'<a href="(.*)" class="n">下一页</a>'), html, flags=0)
- fanye_url = 'http://image.baidu.com' + fanye_urls[0] if fanye_urls else ''
- return pic_urls, fanye_url
- Dir = os.path.join('E://', 'pic')
- def down_pic(pic_urls):
- if not os.path.exists(Dir):
- os.makedirs(Dir)
- """给出图片链接列表, 下载所有图片"""
- for i, pic_url in enumerate(pic_urls):
- try:
- urllib.urlretrieve(pic_url, os.path.join(Dir, '%s.jpg') % str(i + 1))
- print('成功下载第%s张图片: %s' % (str(i + 1), str(pic_url)))
- except Exception as e:
- print('下载第%s张图片时失败: %s' % (str(i + 1), str(pic_url)))
- print(e)
- continue
- if __name__ == '__main__':
- keyword = '狗狗' # 关键词, 改为你想输入的词即可, 相当于在百度图片里搜索一样
- url_init_first = r'http://image.baidu.com/search/flip?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1497491098685_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&ctd=1497491098685%5E00_1519X735&word='
- url_init = url_init_first + urllib.quote(keyword, safe='/')
- all_pic_urls = []
- onepage_urls, fanye_url = get_onepage_urls(url_init)
- all_pic_urls.extend(onepage_urls)
- fanye_count = 0 # 累计翻页数
- while 1:
- onepage_urls, fanye_url = get_onepage_urls(fanye_url)
- fanye_count += 1
- print('第%s页' % fanye_count)
- all_pic_urls.extend(onepage_urls)
- if fanye_url == '' and onepage_urls == []:
- print('已到最后一页, 开始下载图片:')
- break
- down_pic(all_pic_urls)
- print '图片下载完毕'
python根据搜索词下载百度图片的更多相关文章
- Python 爬取陈都灵百度图片
Python 爬取陈都灵百度图片 标签(空格分隔): 随笔 今天意外发现了自己以前写的一篇爬虫脚本,爬取的是我的女神陈都灵,尝试运行了一下发现居然还能用.故把脚本贴出来分享一下. import req ...
- 用 Python 批量下载百度图片
为了做一个图像分类的小项目,需要制作自己的数据集.要想制作数据集,就得从网上下载大量的图片,再统一处理. 这时,一张张的保存下载,就显得很繁琐.那么,有没有一种方法可以把搜索到的图片直接下载到本地 ...
- java实现批量下载百度图片搜索到的图片
就是写的个小程序,用于记录一下,方便后续查看,首先感谢下面这个博客,从这篇文章衍生的吧,大家可以学习下: http://www.cnblogs.com/lichenwei/p/4610298.html ...
- 百度图片爬虫-python版-如何爬取百度图片?
上一篇我写了如何爬取百度网盘的爬虫,在这里还是重温一下,把链接附上: http://www.cnblogs.com/huangxie/p/5473273.html 这一篇我想写写如何爬取百度图片的爬虫 ...
- python爬虫之爬取百度图片
##author:wuhao##爬取指定页码的图片,如果需要爬取某一类的所有图片,整体框架不变,但需要另作分析#import urllib.requestimport urllib.parseimpo ...
- python实现使用词云展示图片
记录瞬间 首先,要安装一些第三方包 pip install scipyCollecting scipy Downloading https://files.pythonhosted.org/packa ...
- Python随笔--爬虫(下载妹子图片)
- java-selenium下载百度图片
package download; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStre ...
- Python代码搜索并下载酷狗音乐
运行环境: Python3.5+Pycharm 实例代码: import requests,re keyword = input("请输入想要听的歌曲:") url = " ...
随机推荐
- let 、const 、var、function声明关键字的新理解
今天在群里看到大佬们讨论let .const 的提升问题,有个大佬问 三种声明都在什么阶段提升? 什么阶段?这个真不清楚,以前是只知道let.const存在死区,没有变量提升,一下子就懵了 后经手 ...
- (二十九)c#Winform自定义控件-文本框(二)
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- 【hdu 2544最短路】【Dijkstra算法模板题】
Dijkstra算法 分析 Dijkstra算法适用于边权为正的情况.它可用于计算正权图上的单源最短路( Single-Source Shortest Paths, SSSP) , 即从单个源点出发, ...
- 快速了解Python并发编程的工程实现(上)
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
- 从零写一个编译器(十三):代码生成之遍历AST
项目的完整代码在 C2j-Compiler 前言 在上一篇完成对JVM指令的生成,下面就可以真正进入代码生成部分了.通常现代编译器都是先把生成IR,再经过代码优化等等,最后才编译成目标平台代码.但是时 ...
- .net core redis的全套操作
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis支持主从同步.数据可以从主服务器向任意数 ...
- C语言编程入门之--第五章C语言基本运算和表达式-part4
5.3.5 和二进制极为密切的运算符 本小节的运算符需要借助二进制概念来理解. 二进制数据中,比如一个字节的数据,它的十进制为228,二进制就为11100100,如图5.11, 注意:如果不懂怎么转换 ...
- 你是否真的了解全局解析锁(GIL)
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
- 逆向破解之160个CrackMe —— 016
CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 马蜂窝视频编辑框架设计及在 iOS 端的业务实践
(马蜂窝技术公众号原创内容,ID: mfwtech) 熟悉马蜂窝的朋友一定知道,点击马蜂窝 App 首页的发布按钮,会发现发布的内容已经被简化成「图文」或者「视频」. 长期以来,游记.问答.攻略等图文 ...