Python爬虫(三)图片数据爬取

83 阅读2分钟

爬取图片内容这部分也是使用requests模块进行爬取数据。

只是他爬取的数据是二级制的数据。这就很有意思了。我个人感觉爬取图片相对于之前爬取页面以及爬取json更能给人成就感,将爬取到的数据存储图片文件中,直接就能看到,就很直观。

下面我们来尝试一下爬取一张图片内容:

代码如下:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
@Time    : 2022/2/14 17:29
@Author  : camellia
@Email   : 805795955@qq.com
@File    : pachong.py
@Software: PyCharm
# 引用request模块
import requests
# 1:指定url
url = "https://resource.guanchao.site/uploads/sowing/welcome-image3.jpg"
# 2:模拟网络请求链接
responce = requests.get(url=url)
# 3:获取响应数据,content获取二进制数据
content = responce.content
# 4:持久化存储
with open('./tu.jpg','wb') as fe:
    fe.write(content)
    print('爬取完成')

执行程序,图片爬取成功,并存储至当前目录下的tu.jpg文件中,图片太大,我这里就不放了,想看图访问代码中的链接。

 

代码写的比较简单,只爬取了指定图片链接的图片的内容,正常在实际使用的时候,我们可以爬取指定页面的内容html,然后解析html,找到其中的img标签,获取每个img标签对应的图片链接(URL)存入list中,然后将上边的代码封装成一个函数,循环list调用就能将整个页面中的所有图片爬取下来了。

 

至于如何解析爬取到的html,这个下一篇就会看到传说中的python的数据解析。

 

这里也对目前接触到的requests模块的方法做一个总结:

1:text获取文本字符串

2:json获取json字符串

3:content获取二进制形式的文件流

 

Python除了requests模块之外,还有urllib模块也支持爬取数据,据说requests模块的效率比较高,这个我没用过,不清楚,后期有时间尝试一下。

 

有好的建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site