您的位置 首页 > 数码极客

如何将爬出来的多张图片

我叫杰瑞,是一名编程高手,经常发表一些有趣的编程教学文章,喜欢的小伙伴赶紧关注我吧!


全篇一共2597字,阅读可能需要12分钟或以上

网络爬虫,又被称为网页蜘蛛、网络机器人,爬虫分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、Deep Web 爬虫这四种。“虫如其名”,爬虫并不是一种我们熟知的无脊椎动物中的节肢动物,而是一类计算器程序或脚本,该程序能够自动爬取万维网中的信息,并能够按照一定的要求加工这些信息。

c/c++、java、python、php等语言都可以用来写爬虫程序,但总的来讲,目前大多数开发人员都会选择python、php等语言进行开发爬虫程序,所以今天杰瑞将使用python教大家制作一个非常简单实用的爬虫程序。

在浏览这篇教程之前,您需要有python的知识基础或其他编程语言基础,如果您没有编程基础,那么也不要担心,杰瑞会尽量把教程做的通俗易懂一看就明白。

前期准备

爬虫原理

当我们在网络中寻找我们需要的信息时,一般都会通过浏览器进行操作,浏览器会将我们的请求发送给存放信息的服务器,服务器收到发过来的请求之后会把请求的数据返回给浏览器。

浏览器与服务器交互示意图

形象一点讲,浏览器就相当于我们人类的翻译官,将我们的人类语言翻译给服务器听,服务器听懂之后就开始执行我们的命令,然后将结果说给浏览器听,浏览器再将结果翻译给我们人类。所以我们的爬虫就是通过不断地模仿浏览器发出的指令,让服务器不断地执行相应的命令,此时服务器并不知道发送命令的是人类还是爬虫,因为服务器只能听得懂浏览器“语言”。

为什么要这样呢?我们人类自己发出命令不好吗?为什么要让机器代劳呢?举个例子:例如你正在做人工智能中的图片识别,这将需要到很多训练数据——图片,你总不能手动地一个个地将图片下载下来吧?这时候爬虫的作用就来了!

python爬虫原理(本例完整代码在末尾处)

在python中,我们可以使用reque()向目标地址发起请求,在这之后服务器会返回一些数据,在这些数据里面就有猫、狗图片的存放地址,我们需要将图片地址和HTML标签以及其他无用信息区分开来,所以将使用到正则化的方法,在这里可以使用re库,这个库自带一些正则化方法。

最后我们需要将指定url中的文件下载到电脑中,这将用到urllib库中的reque()方法。

代码教程

首先按照惯例我们先把将要使用到的库导入到py文件中。

import requests

import json

import urllib

import re

然后开始编写我们的爬取程序,这里杰瑞以百度图片为例(请求地址在地址栏上,区别只是在word关键字上),程序详解在下面的注释当中。

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

密密麻麻的返回结果

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

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

运行结果

杰瑞这里批量下载了一些电脑壁纸,情况如何一起来看看吧!

完整代码

都看到这里了,相信您对这篇文章一定很感兴趣吧?

所以就请 留言 点赞 关注

杰瑞会坚持分享各种实用教程和干货

欢迎关注《编程高手杰瑞》

可复制版

import requests

import json

import urllib

import re

"""

number :下载个数

path :下载地址

save_path :保存地址

"""

def download_img_from_path(keyword,number,save_path):

#向指定地址发起GET请求

requests_content = reque('百度请求地址'+keyword)

#使用正则化方法分析出图片地址

img_url = re.findall('"objURL":"(.*?)",', reque, re.S)

for i in range(number):

urllib.reque(img_url[i],save_path+str(i)+'.jpg' )

print('地址为:' + img_url[i])

download_img_from_path('壁纸', 10, '你的存放地址')

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何将爬出来的多张图片”边界阅读