基于python3 的百度图片下载器的实现代码


Posted in Python onNovember 05, 2019

自己写了玩的一个小脚本,百度图片下载

import re
import os
import requests
import hashlib
 
 
def dowmloadPic(html, keyword):
  pic_url = re.findall('"objURL":"(.*?)",', html, re.S)
 
  if len(pic_url) < 1:
    return 1
 
  i = 0
  for each in pic_url:
    print(i + 1, end=',')
    md5Str = hashlib.md5(each.encode("utf-8")).hexdigest()
 
    # 抓去链接
    oneStr = md5Str + '  ' + keyword + '  ' + each + '\n'
    with open('downText.txt', 'a+') as f:
      f.write(oneStr)
 
    # 下载图片
    # try:
    #   pic = requests.get(each, timeout=10)
    # except requests.exceptions.ConnectionError:
    #   print('链接超时,跳过此操作')
    #   continue
    #
    # kz = os.path.splitext(each)[-1]
    # photo = + keyword + '_' + str(i) + kz
    #
    # with open(photo, 'wb') as f:
    #   f.write(pic.content)
    i += 1
 
  print('\n')
  return 0
 
 
if __name__ == '__main__':
 
  word = input('enter a key word:')
  page = input('enter the page:')
 
  page = int(page)
  page = 1 if page < 1 else page
 
  url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&ct=201965323&v=flip'
 
  p = 1
  while (p <= page):
    print(word + ',第[' + str(p) + ']页:')
 
    pn = (p - 1) * 20
    url = url + '&pn=' + str(pn)
    result = requests.get(url).content.decode('utf-8')
 
    code = dowmloadPic(result, word)
 
    if code:
      print('无相关数据,提前退出程序')
      break
    p = p + 1
 
  print('程序结束')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python装饰器与递归算法详解
Feb 18 Python
python正则实现提取电话功能
Feb 24 Python
基于Python对数据shape的常见操作详解
Dec 25 Python
实例介绍Python中整型
Feb 11 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
python3 assert 断言的使用详解 (区别于python2)
Nov 27 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
Mar 03 Python
Python hashlib模块加密过程解析
Nov 05 #Python
python set集合使用方法解析
Nov 05 #Python
基于python2.7实现图形密码生成器的实例代码
Nov 05 #Python
python中删除某个元素的方法解析
Nov 05 #Python
Django 框架模型操作入门教程
Nov 05 #Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 #Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 #Python
You might like
星际实力自我测试
2020/03/04 星际争霸
PHP Google的translate API代码
2008/12/10 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
Linux中为php配置伪静态
2014/12/17 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
Vue filters过滤器的使用方法
2017/07/14 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
python中bisect模块用法实例
2014/09/25 Python
Python3遍历目录树实现方法
2015/05/22 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
家长给孩子的表扬信
2014/01/17 职场文书
三爱活动实施方案
2014/03/19 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
学校推普周活动总结
2015/05/07 职场文书
边城读书笔记
2015/06/29 职场文书