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编程使用tkinter模块实现计算器软件完整代码示例
Nov 29 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
python3读取excel文件只提取某些行某些列的值方法
Jul 10 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
详解Django 时间与时区设置问题
Jul 23 Python
Django Aggregation聚合使用方法解析
Aug 01 Python
Django文件存储 默认存储系统解析
Aug 02 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
Oct 24 Python
python实现图像外边界跟踪操作
Jul 13 Python
pyqt5 textEdit、lineEdit操作的示例代码
Aug 12 Python
Python绘画好看的星空图
Mar 17 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 MSSQL 存储过程的方法
2008/12/24 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
popdiv
2006/07/14 Javascript
JQuery 图片延迟加载并等比缩放插件
2009/11/09 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
2016/08/16 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
2016/12/13 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
python标准日志模块logging的使用方法
2013/11/01 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
Python图像处理之颜色的定义与使用分析
2019/01/03 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
对python 自定义协议的方法详解
2019/02/13 Python
使用python实现kNN分类算法
2019/10/16 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
为什么要有struct关键字
2012/05/08 面试题
什么是托管函数?托管函数有什么用?
2014/06/15 面试题
职称评定自我鉴定
2014/03/18 职场文书
个人借款担保书
2014/04/02 职场文书
体育运动口号
2014/06/09 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
幼儿园教研工作总结2015
2015/05/12 职场文书
婚宴父亲致辞
2015/07/27 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server