基于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中的生成器和yield详细介绍
Jan 09 Python
python访问类中docstring注释的实现方法
May 04 Python
python中set常用操作汇总
Jun 30 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
Dec 03 Python
在python中修改.properties文件的操作
Apr 08 Python
python函数map()和partial()的知识点总结
May 26 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
Flask中jinja2的继承实现方法及实例
Mar 03 Python
给numpy.array增加维度的超简单方法
Jun 02 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
JavaScript控制Session操作方法
2013/01/17 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
基于JavaScript实现回到页面顶部动画代码
2016/05/24 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
2019/06/15 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python如何实现视频转代码视频
2019/06/17 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
Python图片的横坐标汉字实例
2019/12/04 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
Python脚本如何在bilibili中查找弹幕发送者
2020/06/04 Python
python Pexpect模块的使用
2020/12/25 Python
自我鉴定书范文
2013/10/02 职场文书
考试没考好检讨书
2014/01/31 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
2015国庆节感想
2015/08/04 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫
PHP RabbitMQ消息列队
2022/05/11 PHP