基于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实现包含min函数的栈
Apr 29 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
分析python切片原理和方法
Dec 19 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 Python
python绘制多个曲线的折线图
Mar 23 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
python sorted函数的小练习及解答
Sep 18 Python
python tkinter控件布局项目实例
Nov 04 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
Python filter过滤器原理及实例应用
Aug 18 Python
Python字符串常规操作小结
Apr 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP多文件上传实例
2015/07/09 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
JavaScript获取某年某月的最后一天附截图
2014/06/23 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
AngularJS实现动态添加Option的方法
2017/05/17 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
2019/11/01 jQuery
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
如何理解Python中的变量
2020/06/01 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
python获取linux系统信息的三种方法
2020/10/14 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
vue实现倒计时功能
2021/03/24 Vue.js
酒店经理职责
2014/01/30 职场文书
如何写早恋检讨书
2014/09/10 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
践行三严三实心得体会
2014/10/13 职场文书
好好学习保证书
2015/02/26 职场文书
病危通知单
2015/04/17 职场文书
php字符串倒叙
2021/04/01 PHP
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫