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生成器(Generator)详解
Apr 13 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
python在html中插入简单的代码并加上时间戳的方法
Oct 16 Python
Python Cookie 读取和保存方法
Dec 28 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
python实现自动解数独小程序
Jan 21 Python
pandas dataframe添加表格框线输出的方法
Feb 08 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
Python一键安装全部依赖包的方法
Aug 12 Python
详解Django admin高级用法
Nov 06 Python
python之列表推导式的用法
Nov 29 Python
python import 上级目录的导入
Nov 03 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
2014/06/19 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
2014/01/09 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
vue-router:嵌套路由的使用方法
2017/02/21 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
webpack教程之webpack.config.js配置文件
2017/07/05 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
Vue 动态组件components和v-once指令的实现
2019/08/30 Javascript
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
python常规方法实现数组的全排列
2015/03/17 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
公司出纳岗位职责
2013/12/07 职场文书
合伙经营协议书范本
2014/09/13 职场文书
无子女夫妻离婚协议书(4篇)
2014/10/20 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
恰同学少年观后感
2015/06/08 职场文书
SQL中的连接查询详解
2022/06/21 SQL Server