【月更27】Python爬虫知识补充,学爬虫入门级的概念

举报
梦想橡皮擦 发表于 2022/03/31 10:58:54 2022/03/31
【摘要】 📢📢📢📢📢📢哈喽!大家好,我是 【梦想橡皮擦】,10 年产研经验,致力于 Python 相关技术栈传播 💗📣📣📣📣📣📣📆 最近更新:2022 年 3 月 29 日,橡皮擦的第 603 篇原创博客 ⛳️ 爬虫相关技术如果你希望学习爬虫,并且想要学好爬虫,那在学之前,先要了解一下爬虫入门阶段需要准备好哪些知识点,这样才能高效入门,否则门口晃悠的时间就太长了。以下内容是...

📢📢📢📢📢📢
哈喽!大家好,我是 【梦想橡皮擦】,10 年产研经验,致力于 Python 相关技术栈传播 💗
📣📣📣📣📣📣

📆 最近更新:2022 年 3 月 29 日,橡皮擦的第 603 篇原创博客

⛳️ 爬虫相关技术

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

以下内容是初学爬虫前 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,3
4,5,6

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

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

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

📣📣📣📣📣📣
🌻 本文如果发现错误,欢迎在评论区中指正哦 💗

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。