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 相关文章推荐
python单链表实现代码实例
Nov 21 Python
Python三元运算实现方法
Jan 12 Python
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
十个Python程序员易犯的错误
Dec 15 Python
Python使用tablib生成excel文件的简单实现方法
Mar 16 Python
Python基础篇之初识Python必看攻略
Jun 23 Python
Python 列表去重去除空字符的例子
Jul 20 Python
pandas按行按列遍历Dataframe的几种方式
Oct 23 Python
Python笔记之facade模式
Nov 20 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
python 实用工具状态机transitions
Nov 21 Python
详解Go语言运用广度优先搜索走迷宫
Jun 23 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数据 实现代码
2009/06/15 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
javascript 播放器 控制
2007/01/22 Javascript
JS查看对象功能代码
2008/04/25 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
python简单实现刷新智联简历
2016/03/30 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
Python中装饰器学习总结
2018/02/10 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python实现感知器算法(批处理)
2019/01/18 Python
python基础教程之while循环
2019/08/14 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
对python中list的五种查找方法说明
2020/07/13 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
携程旅行网:中国领先的在线旅行服务公司
2017/02/17 全球购物
美国床垫连锁店:Mattress Firm
2021/02/13 全球购物
资源环境与城市管理专业推荐信
2013/11/30 职场文书
设计总监岗位职责
2013/12/07 职场文书
幼教简历自我评价
2014/01/28 职场文书
森林病虫害防治方案
2014/06/02 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL