写点什么

听说你想学 Python 爬虫?我从零教你啊

作者:梦想橡皮擦
  • 2022 年 5 月 16 日
  • 本文字数:1608 字

    阅读完需:约 5 分钟

⛳️ 爬虫相关技术

如果你希望学习爬虫,并且想要学好爬虫,那在学之前,先要了解一下爬虫入门阶段需要准备好哪些知识点,这样才能高效入门,否则门口晃悠的时间就太长了。


以下内容是初学爬虫前 2 周,必须要掌握的知识点,Python 语言知识除外。

🥇 HTTP 通讯协议

只要你使用过浏览器访问网站,那必然知道网址的大概形式,例如 http://www.baidu.com,现在更多的站点都切换为 https 协议,但是不管如何变,协议的基本逻辑是一致的。


HTTP(HyperText Transfer Protocol)是一种在服务器和客户端之间传送数据的协议,我们未来编写的爬虫程序,就是在模拟客户端向着目标服务器发送 HTTP 请求,然后获取服务端返回的数据,并进行处理。


在初学阶段,你需要了解的知识清单如下,学习完毕之后,尝试解释下述名词


  • 请求头

  • 响应头

  • 请求体

  • 响应体

  • HTTP 动词

  • 请求状态码

  • URL

  • 端口

  • 域名


如果以上内容你能描述大概含义,并且能使用浏览器携带的【开发者工具】进行查找,那 HTTP 协议部分就可以暂时告一段落,开始后续的学习了。


本阶段千万不要陷到知识点的细节中去,HTTP 通讯协议相关知识点还是很抽象的。


这里再补充一下网址的组成,我们拿下述测试地址举例:


http://a.googl.com:80/demo/index.html?t=133299232&name=ca
复制代码


其中各个位置以及其中文含义如下:


  • 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 软件打开


1,2,34,5,6
复制代码


JSON 文件在上一篇博客来自 2022 年的 Python 网络爬虫补充知识,HTML+JSON+爬虫场景中,我们学习了 JSON 格式的文件,其实 JSON 本身也是一种可存储数据的格式,而且这种格式的数据非常方便用户解析使用,也可以在各种语言框架中通用,所以很多数据量不大的爬虫,会直接选择 JSON 格式的文件存储数据。


数据库数据存储最常用的自然是数据库,数据库中最常用的是 MySQL,所以相关知识点你可以开始准备学习了建库,建表,插入数据,查询数据这些基本的 SQL 语句要掌握的非常熟悉。


如果精力允许的话,可以学习一些 NOSQL 相关的数据库,例如 redis,对未来编写爬虫也非常有助力。




发布于: 刚刚阅读数: 2
用户头像

爬虫 100 例作者,蓝桥签约作者,博客专家 2021.02.06 加入

6 年产品经理+教学经验,3 年互联网项目管理经验; 互联网资深爱好者; 沉迷各种技术无法自拔,导致年龄被困在 25 岁; CSDN 爬虫 100 例作者。 个人公众号“梦想橡皮擦”。

评论

发布
暂无评论
听说你想学Python爬虫?我从零教你啊_5月月更_梦想橡皮擦_InfoQ写作社区