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结合opencv实现人脸检测与跟踪
Jun 08 Python
Python计算一个文件里字数的方法
Jun 15 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
python实现感知器算法详解
Dec 19 Python
全面分析Python的优点和缺点
Feb 07 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
Python调用服务接口的实例
Jan 03 Python
Django REST框架创建一个简单的Api实例讲解
Nov 05 Python
python正则表达式匹配IP代码实例
Dec 28 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
Python对wav文件的重采样实例
Feb 25 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中的switch语句的用法实例详解
2015/10/21 PHP
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
详谈jQuery中的this和$(this)
2014/11/13 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
简单讲解Python中的闭包
2015/08/11 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
Python将字符串常量转化为变量方法总结
2019/03/17 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
华润集团网上药店:健一网
2016/09/19 全球购物
创先争优制度
2014/01/21 职场文书
大学军训感言600字
2014/02/25 职场文书
房地产广告策划方案
2014/05/15 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
演讲开场白和结束语
2015/05/29 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
纯html+css实现Element loading效果
2021/08/02 HTML / CSS
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP