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三元运算符实现方法
Dec 17 Python
Python字典操作简明总结
Apr 13 Python
浅谈python numpy中nonzero()的用法
Apr 02 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python 打印中文字符的三种方法
Aug 14 Python
python爬虫添加请求头代码实例
Dec 28 Python
python批量修改xml属性的实现方式
Mar 05 Python
Python OrderedDict字典排序方法详解
May 21 Python
Python打印不合法的文件名
Jul 31 Python
python如何将图片转换素描画
Sep 08 Python
python开发一款翻译工具
Oct 10 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 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知识收集
2012/08/20 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
PHP缩略图生成和图片水印制作
2017/01/07 PHP
php-msf源码详解
2017/12/25 PHP
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JS操作HTML自定义属性的方法
2015/02/10 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
Angularjs实现下拉框联动的示例代码
2017/08/22 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
Python使用Scrapy爬取妹子图
2015/05/28 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
python八皇后问题的解决方法
2018/09/27 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
Python函数生成器原理及使用详解
2020/03/12 Python
一文读懂Python 枚举
2020/08/25 Python
升职自荐书范文
2013/11/28 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
周一给客户的问候语
2015/11/10 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
学校就业保障协议书
2019/06/24 职场文书
致创业您:正能量激励人心句子(48条)
2019/08/15 职场文书
解决MySQL报“too many connections“错误
2022/04/19 MySQL