听说你想学 Python 爬虫?我从零教你啊
⛳️ 爬虫相关技术
如果你希望学习爬虫,并且想要学好爬虫,那在学之前,先要了解一下爬虫入门阶段需要准备好哪些知识点,这样才能高效入门,否则门口晃悠的时间就太长了。
以下内容是初学爬虫前 2 周,必须要掌握的知识点,Python 语言知识除外。
🥇 HTTP 通讯协议
只要你使用过浏览器访问网站,那必然知道网址的大概形式,例如 http://www.baidu.com
,现在更多的站点都切换为 https
协议,但是不管如何变,协议的基本逻辑是一致的。
HTTP(HyperText Transfer Protocol)是一种在服务器和客户端之间传送数据的协议,我们未来编写的爬虫程序,就是在模拟客户端向着目标服务器发送 HTTP 请求,然后获取服务端返回的数据,并进行处理。
在初学阶段,你需要了解的知识清单如下,学习完毕之后,尝试解释下述名词
请求头
响应头
请求体
响应体
HTTP 动词
请求状态码
URL
端口
域名
如果以上内容你能描述大概含义,并且能使用浏览器携带的【开发者工具】进行查找,那 HTTP 协议部分就可以暂时告一段落,开始后续的学习了。
本阶段千万不要陷到知识点的细节中去,HTTP 通讯协议相关知识点还是很抽象的。
这里再补充一下网址的组成,我们拿下述测试地址举例:
其中各个位置以及其中文含义如下:
http
:通讯协议;a.googl.com
:域名;80
:端口号,默认 80,一般省略;/demo
:Web 服务器请求指定网页文件的路径t=133299232
:在?
后的是传递的查询参数,=
前面是参数名称,后面是参数值,多个查询参数使用&
符号连接。
🥇 定位网页数据
在编写爬虫程序的时候,大量的工作重点都会放在定位数据上,因此如何快速定位数据,就成了我们必学的储备技能之一,常见的定位技术有如下 3 种,接下来为你详细说明
CSS 选择器选择器用的好不好,其实看的是你前端基础,尤其是 CSS 相关知识点,所以会建议学习 Python 爬虫之前,先简单了解一些前端知识,它们分为 3 部分,HTML,CSS,JS,这些都与爬虫密切相关,尤其是选择器,更是未来解决问题的一大利器,这里还有一个小建议,如果觉得原生 JS 实在难写,那好好学一下其框架 jQuery,其中的选择器知识点,对爬虫助力很大。
掌握 jQuery 的选择器,你直接就掌握了 Python 爬虫的 CSS 选择器,编程语言之间的关系就是这么神奇。
Xpath 表达式 XPath 表达式是一种 XML 技术的查询语言,原用于查找 XML 中的节点,又因为 XML 和 HTML 结构相似,所以 Python 爬虫解析数据,自然而然的就带上了它,而且语法结构相对独立,相较于 CSS 选择器,其优点是完全可以独立学习。
在可支持扩展的浏览器,安装一个 XPath 表达式工具,就可以开始学习其语法了,非常方便。
正则表达式正则也是一种小型的模板匹配/提取语言,完全可以当成一门独立的语言体系去学习,而且正则和任何语言配合的都比较默契,哪里都有它的身影,如果你未来成为了一个爬虫高手,那正则表达式你写的一定非常棒。
正则表达式可以提取任何复杂格式,而且可以解析各种文本数据
🥇 网页存储
当我们使用爬虫程序采集数据之后,就面临存储的问题了,常见的存储方式有如下几种,你也可以在学习 Python 爬虫之间,就开始储备相关知识点。
CSV 文件这个就是带有特殊格式或者符号的一种文本文件,可以直接用记事本打开,常见的格式是用逗号分隔,用 Excel 软件打开
JSON 文件在上一篇博客来自 2022 年的 Python 网络爬虫补充知识,HTML+JSON+爬虫场景中,我们学习了 JSON 格式的文件,其实 JSON 本身也是一种可存储数据的格式,而且这种格式的数据非常方便用户解析使用,也可以在各种语言框架中通用,所以很多数据量不大的爬虫,会直接选择 JSON 格式的文件存储数据。
数据库数据存储最常用的自然是数据库,数据库中最常用的是 MySQL,所以相关知识点你可以开始准备学习了建库,建表,插入数据,查询数据这些基本的 SQL 语句要掌握的非常熟悉。
如果精力允许的话,可以学习一些 NOSQL 相关的数据库,例如 redis,对未来编写爬虫也非常有助力。
版权声明: 本文为 InfoQ 作者【梦想橡皮擦】的原创文章。
原文链接:【http://xie.infoq.cn/article/b3e4d09b46508d2be8041d661】。文章转载请联系作者。
评论