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 相关文章推荐
django model去掉unique_together报错的解决方案
Oct 18 Python
Pycharm学习教程(2) 代码风格
May 02 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
用python处理图片实现图像中的像素访问
May 04 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
Django框架使用富文本编辑器Uedit的方法分析
Jul 31 Python
Django 路由控制的实现代码
Nov 08 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
Python实现删除某列中含有空值的行的示例代码
Jul 20 Python
将不规则的Python多维数组拉平到一维的方法实现
Jan 11 Python
Python中的np.argmin()和np.argmax()函数用法
Jun 02 Python
python随机打印成绩排名表
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编写发红包程序
2015/07/22 PHP
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
JavaScript OOP类与继承
2009/11/15 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
用XMLDOM和ADODB.Stream实现base64编码解码实现代码
2010/11/28 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
jquery拖拽效果完整实例(附demo源码下载)
2016/01/14 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
web前端开发upload上传头像js示例代码
2016/10/22 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
Python星号*与**用法分析
2018/02/02 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
Django如何批量创建Model
2020/09/01 Python
台湾团购、宅配和优惠券:17Life
2017/08/14 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
社会实践活动报告
2015/02/05 职场文书
大连星海广场导游词
2015/02/10 职场文书
2015年女生节活动总结
2015/02/27 职场文书
2015年教务主任工作总结
2015/07/22 职场文书
导游词之安徽九华山
2019/09/18 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS