基于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中使用MELIAE分析程序内存占用实例
Feb 18 Python
进一步了解Python中的XML 工具
Apr 13 Python
Python中的字符串操作和编码Unicode详解
Jan 18 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
python3实现网络爬虫之BeautifulSoup使用详解
Dec 19 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
python实现随机漫步方法和原理
Jun 10 Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 Python
Python如何根据时间序列数据作图
May 12 Python
python语言中有算法吗
Jun 16 Python
scrapy结合selenium解析动态页面的实现
Sep 28 Python
matplotlib画混淆矩阵与正确率曲线的实例代码
Jun 01 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP连接和操作MySQL数据库基础教程
2014/09/29 PHP
php简单获取复选框值的方法
2016/05/11 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
2020/01/22 PHP
jquery 表格的增行删行实现思路
2013/03/21 Javascript
JS防止用户多次提交的简单代码
2013/08/01 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
js中的eventType事件及其浏览器支持性介绍
2013/11/29 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
javascript实现多栏闭合展开式广告位菜单效果实例
2015/08/05 Javascript
jquery仿百度百科底部浮动导航特效
2015/08/08 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
微信小程序封装http访问网络库实例代码
2017/05/24 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
在Django框架中运行Python应用全攻略
2015/07/17 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
手把手教你python实现SVM算法
2017/12/27 Python
python找出完数的方法
2018/11/12 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
法国时尚童装网站:Melijoe
2016/08/10 全球购物
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
本科生个人求职自荐信
2013/09/26 职场文书
商场消防管理制度
2014/01/12 职场文书
银行开业庆典方案
2014/02/06 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python