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益智游戏计算汉诺塔问题示例
Mar 05 Python
跟老齐学Python之Import 模块
Oct 13 Python
python检查指定文件是否存在的方法
Jul 06 Python
Python wxPython库Core组件BoxSizer用法示例
Sep 03 Python
对python多线程与global变量详解
Nov 09 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
Python爬虫设置代理IP(图文)
Dec 23 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
pygame实现非图片按钮效果
Oct 29 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
Python 如何测试文件是否存在
Jul 31 Python
基于python调用jenkins-cli实现快速发布
Aug 14 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 数组的一个悲剧?
2011/05/11 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
比较完整的微信开发php代码
2016/08/02 PHP
JQuery 入门实例1
2009/06/25 Javascript
js中将URL中的参数提取出来作为对象的实现代码
2011/08/16 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
2016/09/06 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
Vue基础配置讲解
2019/11/29 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
python3 实现口罩抽签的功能
2020/03/11 Python
python基于win32api实现键盘输入
2020/12/09 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
2021/01/01 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
银行优秀员工事迹
2014/02/06 职场文书
《再见了,亲人》教学反思
2014/02/26 职场文书
考研英语复习计划
2015/01/19 职场文书
2015年维修工作总结
2015/04/25 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书