来自2022年的Python 网络爬虫补充知识,HTML+JSON+爬虫场景
写在前面
2022年,知识版权的保护越来越严格,爬虫编写者的生存空间逐渐变小,但有数据的地方就会有爬虫的存在,不能采集别人的站点,我们就自力更生,后续我给大家搭建自己的站点。
本系列文章是 《Python爬虫120》例的阶段知识补充,原因是部分群友反馈,爬虫120例都是案例,来写理论夯实一下基础。
既然这样,那我们就在补充20篇吧,不过都是1500字(排除代码外)的短篇博客,希望对大家有所帮助,暂定日更2篇,10天更完,然后收录到收费专栏中,现阶段免费学习,还不抓紧?
叨叨一下HTML
成为一个爬虫编写者很简单,学Python 一周就能操作几下,但是成为一个初级爬虫工程师,要学习的知识就非常多了
往浅了说,你前端HTML+CSS至少要了解一些,越熟悉,写爬虫越有利。
HTML 也是一种解释型的编程语言,学起来一点也不费劲,薄薄的一本书。
HTML 主要由标签和属性组成。
拿标签来说,一般都是成对出现的,你可以在现在的网页中执行鼠标右键,查看一下源代码,然后看一下能不能找到 <p>xxxxx</p>
这样的内容,如果找到了,恭喜你与HTML第一次进行了接触。
这里必须要补充一下,HTML还有但标签,例如 就是,注意和上述提及的 p 标签比对一下差异。
标签认识完毕,就要知道标签的属性了,因为这个也是爬虫者经常需要提取的信息,请在下述超链接标签中找出属性及属性值。
<a href="http://www.abcd.com/detail/88">我是一个超链接,文章地址</a>
- 1
这里面的 href
就是标签属性,http://www.abcd.com/detail/88
就是属性值,参考类似的概念,继续学习,多认识标签,多找属性,要走上爬虫这条路,每天打交道的都是这些。
一般随着 HTML 的学习,会引导出 XML 的相关内容,在学习的时候,二者可以互相比对,寻找差异点,一起学习。
了解网页结构
网页就是特殊的代码被浏览器解析而成的视觉效果,尝试理解这个长句。
网页既然是代码,那就存在结构,一个网页包括如下内容
head 头部,一般用标签 <head>
表示
body 身体,一般用标签 <body>
表示
除此之外还有一个 html
标签,代表根元素,所以你见到的所有网页都能抽象成如下结构
<html>
<head></head>
<body></body>
</html>
- 1
- 2
- 3
- 4
所有的内容都是基于此进行的扩展,在复杂的页面,都能简化成上述格式,带着这个结构去学习,事半功倍。
叨叨JSON
JSON 也是为来我们面临的一个重要知识,它与 XML 类似,都是数据格式,这样说的话,其实与 HTML 也有相似的地方,你可以继续对比学习。
JSON 是一种可以自我描述的数据交换格式,一定要注意,它有特定的格式,而正是因为这种特定的格式,使其可以游走与任何编程语言之间,和“谁”都可以合作。
JSON 使用大括号定义成对的键和值,等同于属性和值,如果有 Python 基础,类比字典和列表学习。
简单的定义格式如下所示
{
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
- 1
- 2
- 3
- 4
- 5
可以在大括号外在套一层,形成一个 JSON 对象阵列,例如下述代码
[
{
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
{
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
也可以将JSON的值设置为阵列,例如下述代码
{
"key1":[1,2,3],
"key2":"value2",
"key3":"value3"
}
- 1
- 2
- 3
- 4
- 5
顺着上述思路,一层层的嵌套下去,完全没有问题,套娃模式。
JSON 中的值类型可以是整数,浮点数,字符串,布尔值,数组,对象,其中注意的是布尔值,只能为 true
和 false
,注意大小写问题。
爬虫落地场景
互联网爬虫程序无处不在,搜索引擎就是最大的爬虫程序,除此之外,还有如下落地场景:
- 各种比价网站,商品,机票,房价,酒店等等
- 旅游攻略
- 资讯聚合站点
- 产品评测站点
- 社交舆情监控
- 网络营销
- 股票,基金
- ……
如何判断一个场景是否需要爬虫程序
上述内容非常重要,很多时候你以为是Python爬虫能干的事情,结果是逆向破解或者是渗透技术,那就很尴尬,所以要学会如何判断一个场景可以用爬虫完成。
有以下2个条件,满足即可
- 人眼可以看到数据,如果人眼都看不到,那爬虫一般也爬取不到
- 操作可重复,人力可完成,但是很浪费时间
带着这两个条件去看待一个待解决的问题,然后在决定是否上爬虫程序。
今天的补充知识编写完毕,希望多多少少能帮助到这个阶段的你。
感兴趣的化 订阅一下 《Python爬虫120》 吧
橡皮擦的第 591 篇原创博客。
文章来源: dream.blog.csdn.net,作者:梦想橡皮擦,版权归原作者所有,如需转载,请联系作者。
原文链接:dream.blog.csdn.net/article/details/123673511
- 点赞
- 收藏
- 关注作者
评论(0)