python爬虫爬取图片的简单代码


Posted in Python onJanuary 18, 2021

Python是很好的爬虫工具不用再说了,它可以满足我们爬取网络内容的需求,那最简单的爬取网络上的图片,可以通过很简单的方法实现。只需导入正则表达式模块,并利用spider原理通过使用定义函数的方法可以轻松的实现爬取图片的需求。

1、spider原理

spider就是定义爬取的动作及分析网站的地方。
以初始的URL**初始化Request**,并设置回调函数。 当该request**下载完毕并返回时,将生成**response ,并作为参数传给该回调函数。

2、实现python爬虫爬取图片

第一步:导入正则表达式模块

import re # 导入正则表达式模块
import requests # python HTTP客户端 编写爬虫和测试服务器经常用到的模块
import random # 随机生成一个数,范围[0,1]

第二步:使用定义函数的方法爬取图片

def spiderPic(html, keyword):
  print('正在查找 ' + keyword + ' 对应的图片,下载中,请稍后......')
  for addr in re.findall('"objURL":"(.*?)"', html, re.S): # 查找URL
    print('正在爬取URL地址:' + str(addr)[0:30] + '...') 
    # 爬取的地址长度超过30时,用'...'代替后面的内容
    try:
      pics = requests.get(addr, timeout=100) # 请求URL时间(最大10秒)
    except requests.exceptions.ConnectionError:
      print('您当前请求的URL地址出现错误')
      continue
    fq = open('H:\\img\\' + (keyword + '_' + str(random.randrange(0, 1000, 4)) + '.jpg'), 'wb') 
     # 下载图片,并保存和命名
    fq.write(pics.content)
    fq.close()

到此这篇关于python爬虫爬取图片的简单代码的文章就介绍到这了,更多相关python爬虫怎么爬取图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
sqlalchemy对象转dict的示例
Apr 22 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
Saltstack快速入门简单汇总
Mar 01 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
浅谈Python中的私有变量
Feb 28 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
PyCharm设置护眼背景色的方法
Oct 29 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
Python交互式图形编程的实现
Jul 25 Python
在主流系统之上安装Pygame的方法
May 20 Python
python开发制作好看的时钟效果
May 02 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 #Python
java关于string最常出现的面试题整理
Jan 18 #Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 #Python
python中四舍五入的正确打开方式
Jan 18 #Python
PyQt5中QSpinBox计数器的实现
Jan 18 #Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 #Python
PyQt实现计数器的方法示例
Jan 18 #Python
You might like
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
完整删除ecshop中获取店铺信息的API
2014/12/24 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
Javascript学习笔记8 用JSON做原型
2010/01/11 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
使用js判断当前时区TimeZone是否是夏令时
2014/02/23 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
详解Angular5路由传值方式及其相关问题
2018/04/28 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
jQuery md5加密插件jQuery.md5.js用法示例
2018/08/24 jQuery
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
20行python代码实现人脸识别
2019/05/05 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
如何提高MySql的安全性
2014/06/19 面试题
如何在Shell脚本中使用函数
2015/09/06 面试题
思想专业自荐信范文
2013/12/25 职场文书
副董事长岗位职责
2014/04/02 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
cypress测试本地web应用
2022/06/01 Javascript