基于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 Web框架Flask中使用七牛云存储实例
Feb 08 Python
Python实现简单的可逆加密程序实例
Mar 05 Python
Python脚本处理空格的方法
Aug 08 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
详解django自定义中间件处理
Nov 21 Python
Django学习笔记之为Model添加Action
Apr 30 Python
python opencv 图像拼接的实现方法
Jun 27 Python
Python3 使用pillow库生成随机验证码
Aug 26 Python
如何基于Django实现上下文章跳转
Sep 16 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 Python
python实现学生通讯录管理系统
Feb 25 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
php cookis创建实现代码
2009/03/16 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
微信支付开发发货通知实例
2016/07/12 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
零基础学JavaScript最新动画教程+iso光盘下载
2008/01/22 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python 2.7.x 和 3.x 版本的重要区别小结
2014/11/28 Python
python版学生管理系统
2018/01/10 Python
python实现人民币大写转换
2018/06/20 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
见习期自我鉴定
2013/11/07 职场文书
班长自荐书范文
2014/02/11 职场文书
加多宝凉茶广告词
2014/03/18 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
停电放假通知
2015/04/14 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
2015年英语教研组工作总结
2015/05/23 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
导游词之日本富士山
2020/01/06 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL