Python 爬虫 之 根据图片网址爬取图片
目录
一、简单介绍
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。
爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。
爬虫的网页请求:
网页请求的过程分为两个环节:
Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。
Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求
网页请求的方式也分为两种:
GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。
POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。
本节是为后面批量爬取图片做准备。
二、实现原理
1、import requests 进行网页数据请求获取;
2、把解析的数据保存到本地;
三、注意实现
1、对应安装相应的库(pip install requests 和 pip install jupyter );
2、若网页有反爬虫机制,获取的时候添加 headers,进行爬虫伪装访问;
四、实现步骤
1、安装 requests 库(如果已经安装,可忽略),如下图
2、在命令行中,使用 jupyter notebook 打开 jupyter 工具,会跳转打开一个网页,如下图
3、在页面 New 一个 Python,如下图
4、网上找到一张图片,接下来我们使用这张图片进行爬虫爬取,如下图
5、鼠标右键——查看元素(浏览器不同查看元素或者是其他说法),可以查看图片的网址,如下图
6、把网址在 jupyter 上测试爬取,测试该网址没有反爬虫处理,所以放回200,如下图
7、如果返回的不是 200,可以添加 请求头进行伪装爬虫,请求头获取方法如下图
8、接下来,就可以保存图片了,如下图
9、本地就获取到图片,如下图
五、关键代码
Pycharm 上整理的代码
# 引入 requests 库
import requests
def get_image(url, headers, image_name):
""" 爬取图片
:param url: 图片网址
:param headers: 请求头
:param image_name: 保存的图片名称
"""
# 带请求头的爬虫
html = requests.get(url, headers)
print(html)
# 保存图片到本地
with open(image_name, "wb") as f:
f.write(html.content)
def test_get_image():
""" 测试爬虫爬取图片函数
"""
# 图片网址
url = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3319826565,2904949597&fm=26&gp=0.jpg"
# 请求头
headers = {
"Host": "img0.bdstatic.com",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0"
}
# 保存图片名称
image_name = "2020Image.jpg"
# 爬取图片
get_image(url, headers, image_name)
# 作为运行脚本,才执行此函数
if __name__ == "__main__":
test_get_image()
来源:CSDN
作者:仙魁XAN
链接:https://blog.csdn.net/u014361280/article/details/104215578