基于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黑魔法之编码转换
Jan 25 Python
python将unicode转为str的方法
Jun 21 Python
利用Tkinter(python3.6)实现一个简单计算器
Dec 21 Python
浅谈django orm 优化
Aug 18 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
在python中实现强制关闭线程的示例
Jan 22 Python
Python list列表中删除多个重复元素操作示例
Feb 27 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
Python读写文件基础知识点
Jun 10 Python
django中间键重定向实例方法
Nov 10 Python
python3实现单目标粒子群算法
Nov 14 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 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
由php的call_user_func传reference引发的思考
2010/07/23 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
PHP的引用详解
2015/02/22 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
2018/04/20 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
javascript中键盘事件用法实例分析
2015/01/30 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
2020/09/04 Javascript
Python解析nginx日志文件
2015/05/11 Python
python获得一个月有多少天的方法
2015/06/04 Python
PyQt5实现下载进度条效果
2018/04/19 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
python 多线程重启方法
2019/02/18 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
2019/08/08 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
python Canny边缘检测算法的实现
2020/04/24 Python
python实现批处理文件
2020/07/28 Python
在django中查询获取数据,get, filter,all(),values()操作
2020/08/09 Python
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
10条PHP编程习惯
2014/05/26 面试题
《我的信念》教学反思
2014/02/15 职场文书