关于Python网络爬虫requests库的介绍
1. 什么是网络爬虫
简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。
就像我们浏览网页的时候,对于我们感兴趣的内容我们会复制粘贴到自己的笔记本中,方便下次阅读浏览——网络爬虫帮我们自动完成这些内容
当然如果遇到一些无法复制粘贴的网站——网络爬虫就更能显示它的力量了
为什么需要网络爬虫
当我们需要做一些数据分析的时候——而很多时候这些数据存储在网页中,手动下载需要花费的时间太长,这时候我们就需要网络爬虫帮助我们自动爬取这些数据来(当然我们会过滤掉网页上那些没用的东西)
网络爬虫的应用
访问和收集网络数据有十分广泛的应用,其中很多属于数据科学领域 我们来看看下面这些例子:
淘宝网的卖家需要从海量的评价中寻找到有用的正面的和反面的信息,来帮助他进一步抓住顾客的心,分析顾客的购物心理有学者在twitter、微博等社交媒体上爬取信息来构建一个数据集,从而建立一个识别抑郁症和自杀念头的预测模型——让更多需要援助的人得到帮助——当然我们也需要考虑到隐私相关的问题——但这很酷不是吗?
作为一名人工智能工程师,他们从Ins上爬取志愿者所展示的喜好的图片,来训练深度学习模型,从而预测给出的图像是否会被志愿者所喜好——手机制造商将这些模型纳入他们的图片应用程序中,推送给你。电商平台的数据科学家爬取用户浏览商品的信息,进行分析和预测,以便推送给用户他最想要了解和购买的商品
是的!网络爬虫的应用十分广泛,小到我们日常用来批量爬取一些高清的壁纸,图片;大到人工智能、深度学习、商业策略制定的数据来源等。
这个时代是数据的时代,数据就是“新石油”
2. 网络传输协议Http
没错,讲到网络爬虫一定绕不开的就是这个HTTP,当然我们不需要像网络工程师那样详细的了解协议定义的方方面面,但是作为入门我们还是得具有一定的认识才行
国际标准化组织ISO维护了开放式通信系统互联参考模型OSI,而该模型将计算机通信结构分为七层
- 物理层:包括以太网协议、USB协议、蓝牙协议等
- 数据链路层:包含以太网协议
- 网络层:包含IP协议
- 传输层:包含tcp、UDP协议
- 会话层:包含用于打开/关闭和管理会话的协议
- 表示层:包含保护格式还和翻译数据的协议
- 应用层:包含HTTP和DNS网络服务协议
现在来看看HTTP请求和响应是什么样子的(因为后面会涉及自定义请求头) 一般请求消息由一下内容构成:
- 请求行
- 多个请求头
- 空行
- 可选的消息主体
具体的请求消息:
GET https://www.baidu.com/?tn=80035161_1_dg HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,**',
'Connection': 'keep-alive'}
基本的网页抓取就完成了,但是如果我们想要解析我们抓取的HTML格式的网页呢,我们还需要学习正则表达式、Beautiful Soup库的应用,这些我们下个博客再讲解吧
到此这篇关于关于python网络爬虫requests库的介绍的文章就介绍到这了,更多相关Python网络爬虫requests库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章