python实现爬取百度图片的方法示例


Posted in Python onJuly 06, 2019

本文实例讲述了python实现爬取百度图片的方法。分享给大家供大家参考,具体如下:

import json
import itertools
import urllib
import requests
import os
import re
import sys
word=input("请输入关键字:")
path="./ok"
if not os.path.exists(path):
  os.mkdir(path)
word=urllib.parse.quote(word)
url = r"http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord={word}&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word={word}&face=0&istype=2nc=1&pn={pn}&rn=60"
urls=(url.format(word=word,pn=x)for x in itertools.count(start=0,step=60))
index=0
str_table = {
  '_z2C$q': ':',
  '_z&e3B': '.',
  'AzdH3F': '/'
}
char_table = {
  'w': 'a',
  'k': 'b',
  'v': 'c',
  '1': 'd',
  'j': 'e',
  'u': 'f',
  '2': 'g',
  'i': 'h',
  't': 'i',
  '3': 'j',
  'h': 'k',
  's': 'l',
  '4': 'm',
  'g': 'n',
  '5': 'o',
  'r': 'p',
  'q': 'q',
  '6': 'r',
  'f': 's',
  'p': 't',
  '7': 'u',
  'e': 'v',
  'o': 'w',
  '8': '1',
  'd': '2',
  'n': '3',
  '9': '4',
  'c': '5',
  'm': '6',
  '0': '7',
  'b': '8',
  'l': '9',
  'a': '0'
}
i=1
char_table = {ord(key): ord(value) for key, value in char_table.items()}
for url in urls:
  html=requests.get(url,timeout=10).text
  a=re.compile(r'"objURL":"(.*?)"')
  downURL=re.findall(a,html)
  for t in downURL:
    for key, value in str_table.items():
        t = t.replace(key, value)
    t=t.translate(char_table)
    try:
      html_1=requests.get(t)
      if str(html_1.status_code)[0]=="4":
        print('失败1')
        continue
    except Exception as e:
      print('失败2')
      continue
    with open(path+"/"+str(i)+".jpg",'wb') as f:
      f.write(html_1.content)
    i=i+1

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中unittest模块做UT(单元测试)使用实例
Jun 12 Python
Python3实现的字典遍历操作详解
Apr 18 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
May 24 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
python使用Plotly绘图工具绘制水平条形图
Mar 25 Python
对Pytorch神经网络初始化kaiming分布详解
Aug 18 Python
python常用排序算法的实现代码
Nov 08 Python
python实现七段数码管和倒计时效果
Nov 23 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
Jul 06 #Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 #Python
python使用 zip 同时迭代多个序列示例
Jul 06 #Python
Python搭建Spark分布式集群环境
Jul 05 #Python
详解python解压压缩包的五种方法
Jul 05 #Python
用python3 返回鼠标位置的实现方法(带界面)
Jul 05 #Python
python中的colorlog库使用详解
Jul 05 #Python
You might like
删除及到期域名的查看(抢域名必备哦)
2008/05/14 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP中__set()实例用法和基础讲解
2019/07/23 PHP
Array对象方法参考
2006/10/03 Javascript
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
javascript 隔行换色函数代码
2010/10/24 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
详谈nodejs异步编程
2014/12/04 NodeJs
JavaScript DOM 对象深入了解
2016/07/20 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
理解JavaScript原型链
2016/10/25 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
python实现数组插入新元素的方法
2015/05/22 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
Clearly澳大利亚:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
档案检查欢迎词
2014/01/13 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
党员承诺书怎么写
2014/05/20 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android
Python制作动态字符画的源码
2021/08/04 Python