简单的python爬虫教程:批量爬取图片
python编程语言,可以说是新型语言,也是这两年来发展比较快的一种语言,而且不管是少儿还是成年人都可以学习这个新型编程语言,今天南京小码王python培训机构变为大家分享了一个python爬虫教程。
网络爬虫,又被称为网页蜘蛛、网络机器人,爬虫分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、Deep Web爬虫这四种。“虫如其名”,爬虫并不是一种我们熟知的无脊椎动物中的节肢动物,而是一类计算器程序或脚本,该程序能够自动爬取万维网中的信息,并能够按照一定的要求加工这些信息。
c/c++、java、python、php等语言都可以用来写爬虫程序,但总的来讲,目前大多数开发人员都会选择python、php等语言进行开发爬虫程序,所以今天将使用python教大家制作一个非常简单实用的爬虫程序。
爬虫原理
当我们在网络中寻找我们需要的信息时,一般都会通过浏览器进行操作,浏览器会将我们的请求发送给存放信息的服务器,服务器收到发过来的请求之后会把请求的数据返回给浏览器。

形象一点讲,浏览器就相当于我们人类的翻译官,将我们的人类语言翻译给服务器听,服务器听懂之后就开始执行我们的命令,然后将结果说给浏览器听,浏览器再将结果翻译给我们人类。所以我们的爬虫就是通过不断地模仿浏览器发出的指令,让服务器不断地执行相应的命令,此时服务器并不知道发送命令的是人类还是爬虫,因为服务器只能听得懂浏览器“语言”。
为什么要这样呢?我们人类自己发出命令不好吗?为什么要让机器代劳呢?举个例子:例如你正在做人工智能中的图片识别,这将需要到很多训练数据——图片,你总不能手动地一个个地将图片下载下来吧?这时候爬虫的作用就来了!

python爬虫原理
举个例子,我们现在想要批量抓取猫的图片用于猫狗分类模型训练,聪明伶俐的选择用python去代替手动下载猫、狗图片这个枯燥乏味的过程。
在python中,我们可以使用requests.get(https://www.jkys120.com/)向目标地址发起请求,在这之后服务器会返回一些数据,在这些数据里面就有猫、狗图片的存放地址,我们需要将图片地址和HTML标签以及其他无用信息区分开来,所以将使用到正则化的方法,在这里可以使用re库,这个库自带一些正则化方法。
最后我们需要将指定url中的文件下载到电脑中,这将用到urllib库中的request.urlretrieve()方法。
代码教程
首先按照惯例我们先把将要使用到的库导入到py文件中。
import requestsimport jsonimport urllibimport re
然后开始编写我们的爬取程序,这里以百度图片为例(请求地址在地址栏上,区别只是在word关键字上),程序详解在下面的注释当中。

requests_content的text属性就是服务器返回的文本数据,里面包含了一些HTML标签和JavaScript脚本代码。

这是我们将使用正则化方法来把图片地址提取出来。

最后将url中的图片文件下载到电脑上。

运行结果
在这里批量下载了一些电脑壁纸,情况如何一起来看看吧!


简单的python爬虫教程:批量爬取图片的更多相关文章
- Python爬虫教程-17-ajax爬取实例(豆瓣电影)
Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...
- Python爬虫学习 - day1 - 爬取图片
利用Python完成简单的图片爬取 最近学习到了爬虫,瞬时觉得很高大上,想取什么就取什么,感觉要上天.这里分享一个简单的爬取汽车之家文章列表的图片教程,供大家学习. 需要的知识点储备 本次爬虫脚本依赖 ...
- python爬虫---scrapy框架爬取图片,scrapy手动发送请求,发送post请求,提升爬取效率,请求传参(meta),五大核心组件,中间件
# settings 配置 UA USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, l ...
- Python爬虫教程-00-写在前面
鉴于好多人想学Python爬虫,缺没有简单易学的教程,我将在CSDN和大家分享Python爬虫的学习笔记,不定期更新 基础要求 Python 基础知识 Python 的基础知识,大家可以去菜鸟教程进行 ...
- Python爬虫教程-01-爬虫介绍
Spider-01-爬虫介绍 Python 爬虫的知识量不是特别大,但是需要不停和网页打交道,每个网页情况都有所差异,所以对应变能力有些要求 爬虫准备工作 参考资料 精通Python爬虫框架Scrap ...
- Python爬虫教程-13-爬虫使用cookie爬取登录后的页面(人人网)(下)
Python爬虫教程-13-爬虫使用cookie爬取登录后的页面(下) 自动使用cookie的方法,告别手动拷贝cookie http模块包含一些关于cookie的模块,通过他们我们可以自动的使用co ...
- Python爬虫教程-12-爬虫使用cookie爬取登录后的页面(人人网)(上)
Python爬虫教程-12-爬虫使用cookie(上) 爬虫关于cookie和session,由于http协议无记忆性,比如说登录淘宝网站的浏览记录,下次打开是不能直接记忆下来的,后来就有了cooki ...
- 一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
- Python爬虫教程-34-分布式爬虫介绍
Python爬虫教程-34-分布式爬虫介绍 分布式爬虫在实际应用中还算是多的,本篇简单介绍一下分布式爬虫 什么是分布式爬虫 分布式爬虫就是多台计算机上都安装爬虫程序,重点是联合采集.单机爬虫就是只在一 ...
随机推荐
- Plist文件编辑工具PlistEdit Pro 1.9.1动态调试分析
0x00:简介 PlistEdit Pro是为macOS平台最优秀的属性列表和JSON编辑器.Mac和iOS开发人员在开发应用程序时必须编辑各种属性列表和JSON文件.PlistEdit Pr ...
- 树上最长不下降链 线段树合并+set
读错题了,然后写了一个树上 LIS,应该是对的吧...... code: #include <bits/stdc++.h> #define N 200005 #define LL long ...
- WinDbg常用命令系列---符号相关命令
ld (Load Symbols) ld命令加载指定模块的符号并更新所有模块信息. ld ModuleName [/f FileName] 参数: ModuleName指定要加载其符号的模块的名称.m ...
- centos7 安装postgresql11
1 进入postresql官网下载页面,提示了centos相关下载安装等信息. https://www.postgresql.org/download/linux/redhat/ image.pn ...
- x64内核强删文件.
目录 x64内核中强删文件的实现 一丶简介 1.步骤 2.Nt驱动代码 x64内核中强删文件的实现 一丶简介 说道删除文件.有各种各样的方法. 有ring3 也有ring0. 而且也有许多对抗的方法. ...
- ES6 解构对象和数组
1.解构对象 let saveFiled = { extension: "jpg", name:"girl", size:14040 }; ES5 functi ...
- 解决PHP7无法监听9000端口问题/502错误解决办法
问题背景 昨晚帮配置nginx+php服务的时候,发生了一个奇怪的事情netstat -anp|grep 9000查看9000端口,一直没有监听,于是nginx无法通过fastcgi来代理php请求. ...
- 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World
目录 刷题记录:[CISCN2019 华北赛区 Day2 Web1]Hack World 一.前言 二.正文 1.解题过程 2.解题方法 刷题记录:[CISCN2019 华北赛区 Day2 Web1] ...
- 第05组Alpha冲刺(1/4)
队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪些任务:SVN管理工具搭建 展示G ...
- golang 内存监控
golang 内存监控 - 简书 https://www.jianshu.com/p/38dc129b6870