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正则表达式re模块详解
Jun 25 Python
利用Python实现简单的相似图片搜索的教程
Apr 23 Python
Python实现建立SSH连接的方法
Jun 03 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
python基础教程之匿名函数lambda
Jan 17 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
Python使用正则实现计算字符串算式
Dec 29 Python
python列表的逆序遍历实现
Apr 20 Python
windows下的pycharm安装及其设置中文菜单
Apr 23 Python
Python入门之基础语法详解
May 11 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的FTP学习(一)
2006/10/09 PHP
php 无限分类的树类代码
2009/12/03 PHP
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
Zend Studio去除编辑器的语法警告设置方法
2012/10/24 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
weiphp微信公众平台授权设置
2016/01/04 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
2017/04/24 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
Python实现的桶排序算法示例
2017/11/29 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
python怎么提高计算速度
2020/06/11 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
客服主管岗位职责
2013/12/13 职场文书
业务部门经理岗位职责
2014/02/23 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
Python竟然能剪辑视频
2021/05/25 Python
Python自动化实战之接口请求的实现
2022/05/30 Python
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang