基于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字符串格式化
Jun 15 Python
python实现对象列表根据某个属性排序的方法详解
Jun 11 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
python实现kNN算法识别手写体数字的示例代码
Aug 16 Python
基于Python实现剪切板实时监控方法解析
Sep 11 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 Python
pytorch训练神经网络爆内存的解决方案
May 22 Python
Python访问Redis的详细操作
Jun 26 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网站来路获取代码(针对搜索引擎)
2010/06/08 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
php实现转换html格式为文本格式的方法
2016/05/16 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
网页设计常用的一些技巧
2006/12/22 Javascript
jquery 表单取值常用代码
2009/12/22 Javascript
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
JSQL  一个 web DB 的封装
2010/05/05 Javascript
extjs之去除s.gif的影响
2010/12/25 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
详解微信小程序中组件通讯
2018/10/30 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
vue+elementUI组件table实现前端分页功能
2020/11/15 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
python 以16进制打印输出的方法
2018/07/09 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
opencv与numpy的图像基本操作
2019/03/08 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
python标识符命名规范原理解析
2020/01/10 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
Jacques Lemans德国:奥地利钟表品牌
2019/12/26 全球购物
应聘教师推荐信
2013/10/31 职场文书
户外活动策划方案
2014/03/12 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
阿里云Nginx配置https实现域名访问项目(图文教程)
2021/03/31 Servers
使用Django框架创建项目
2022/06/10 Python
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers