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 相关文章推荐
PyMongo安装使用笔记
Apr 27 Python
Python Property属性的2种用法
Jun 21 Python
python动态网页批量爬取
Feb 14 Python
python使用生成器实现可迭代对象
Mar 20 Python
python pandas消除空值和空格以及 Nan数据替换方法
Oct 30 Python
python生成器与迭代器详解
Jan 01 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
python挖矿算力测试程序详解
Jul 03 Python
Python使用正则表达式分割字符串的实现方法
Jul 16 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
Dec 10 Python
如何用python处理excel表格
Jun 09 Python
Python2及Python3如何实现兼容切换
Sep 01 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
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
深入解析php中的foreach函数
2013/08/31 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
JS 面向对象之神奇的prototype
2011/02/26 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
Angular.js指令学习中一些重要属性的用法教程
2017/05/24 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
js操作二进制数据方法
2018/03/03 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
Python Sql数据库增删改查操作简单封装
2016/04/18 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
python实现浪漫的烟花秀
2019/01/30 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
详解python程序中的多任务
2020/09/16 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
PyQt 如何创建自定义QWidget
2021/03/24 Python
工作失职检讨书范文
2014/01/16 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
民主生活会发言材料
2014/10/20 职场文书
年度考核表个人总结
2015/03/06 职场文书
警示教育观后感
2015/06/17 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle
索尼ICF-5900W收音机测评
2022/04/24 无线电