0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

爬虫的学习方法

汽车电子技术 来源:安迪python学习笔记 作者:安迪python学习笔记 2023-02-23 14:11 次阅读

1. 网络爬虫的定义

1.1 爬虫是什么?

爬虫的本质就是模仿人类自动访问网站的程序,你在浏览器中做的大部分动作基本都可以通过网络爬虫程序来实现。

网络爬虫指的是能够自动化访问网站的程序,其目的一般是提取和保存网页信息

爬虫能做很多事,它结合数据分析可以做商业分析,还可以给应用程序的开发提供数据支持,比如:爬二手房成交均价是多少?节日期间酒店的价格…等等。

在数据量爆发式增长的互联网时代,网站与用户的沟通,本质上就是数据的交换。以百度为例,你在搜索的时候会发现每个搜索结果下面都有一个百度快照。

poYBAGP3AvuADy7KAAFRrFj-Vpc312.png

点击百度快照,你会发现网址的开头有 baidu 这个词,也就是说这个网页属于百度。

pYYBAGP3AweAH13zAADaSzHgA0s537.png

这是因为,百度这家公司会源源不断地把千千万万个网站爬取下来,存储在自己的服务器上。

你在百度搜索的本质就是在它的服务器上搜索信息,你搜索到的结果是一些超链接,在超链接跳转之后你就可以访问其它网站了。

1.2 网络信息的爬取流程

网络爬虫的流程主要可以分为三步,分别是:获取网页、解析网页以及存储数据。

获取网页,顾名思义就是获取网页信息,在网络爬虫技术中这里获取的就是网页源代码。

解析网页,指的是从网页源代码中提取想要的数据,由于网页的结构有一定的规则,配合 Python 的一些第三方库我们可以高效地从中提取网页数据。

存储数据,就是将数据存储下来。

poYBAGP3AxeABLIOAAD7OG7uj38719.png

2. 学习指南

2.1 爬虫学习路径

poYBAGP3AyOAVdE0AAX5R61A0Vg475.png

2.2 爬虫课程的学习误区

误区1:认为同一个代码可以爬取不同网页的信息。

爬虫程序不是万能钥匙。不同网页结构的爬虫代码也是不一样的,我们要学习探索网页结构,在各色各样的网站中找到它的爬取方法。

误区2:认为网络上的所有信息都可以使用爬虫技术获取。

网络上的信息并非都能随意使用。滥用爬虫程序可能会侵犯别人隐私,占用网站资源,甚至会触犯法律风险,引发牢狱之灾。在网络世界中,有一个专门的 Robots 协议来规范爬虫,维护网络秩序。它可以告诉网络爬虫程序哪些内容是可以获取的,哪些内容是不能获取的。

2.3 爬虫学习方法

在爬虫课程中将深入学习一些 Python 模块与库的使用,除此之外还会学习大量的网络请求、爬虫的原理知识以及工具使用。

poYBAGP3Ay6AYrHLAANEcoTAWGE292.png

【学习方法】

1. 使用画图的方法去学习网络原理

爬虫的本质是通过程序模仿人类上网的过程,你必须了解一些基本的网络原理才能写好爬虫程序。

对于这些网络原理,你更需要的是去理解,而不是死记硬背。当你感觉理解起来很痛苦时,你可以动手将你的理解画出来。

比如网络请求,它指的是我们从浏览器点开一个网络链接再到我们看到实际网页这一过程中的工作原理。这些工作原理如下图:

pYYBAGP3AzyAYN-sAAdifHmhvTs931.png

以上图为例,这一方法并不需要什么绘画技巧,重要的是将你的想法画出来,以此来加深你对这一知识点的印象。

2. 查询网络文档去学习 HTML 语言

pYYBAGP3A02AP7anAAIrBHC2uto503.png

由于爬虫获取的信息大部分都是网页的源代码,这些源代码基本都是使用 HTML 语言编写的,所以 HTML 语言对于爬虫的学习十分重要。对于HTML只需要简单理解 HTML 语言的标签结构,遇到不熟悉的标签再去网上查询即可满足爬虫对于 HTML 语言掌握水平的要求。

3. 通过实践去学习浏览器开发者工具的使用

poYBAGP3A1mAC8S7AAHRCBPRt4E271.png

上图展示的是浏览虎扑网时,打开浏览器开发者工具查看网页元素。这部分的学习专注于实践,因为几乎所有的浏览器都有开发者工具,我们可以在日常网上冲浪的时候打开它,熟悉基本操作。

4. 爬虫相关的模块与库需要坚持代码练习

对于 Python 模块与库的知识,要通过练习、实操的方式熟悉这些代码。

【总结】

pYYBAGP3A36AJvo_AAGPZQ0PQYI722.png

end

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 浏览器
    +关注

    关注

    1

    文章

    1009

    浏览量

    35253
  • 程序
    +关注

    关注

    116

    文章

    3769

    浏览量

    80797
  • 爬虫
    +关注

    关注

    0

    文章

    82

    浏览量

    6817
收藏 人收藏

    评论

    相关推荐

    MCU的学习方法

    刚才在q群上有人发表了关于MCU的学习方法,在此分享下,看规格书(datasheet、errata sheet),看懂了,背熟了,看原理图,理解了,看例子程序,理解透了,修改,开始自己写程序,不知大家有没有其他方法,可以在此分享下。
    发表于 05-23 10:01

    快速的学习方法?

    有老师跟我说学习方法,直接从模块化电路 一个一个的学,不明白的再看电路基础的相关章节,这样好吗?有没有 具体 有哪些模块,求详细说下,,或有其他快速学习方法.请指点下.
    发表于 06-25 22:28

    Linux建议的学习方法

    宋宝华: 迭代螺旋法——关于Linux学习方法的血泪建议
    发表于 04-15 11:38

    统计的学习方法

    统计学习方法感知机
    发表于 07-15 10:33

    STM32的学习方法分享?

    STM32的学习方法
    发表于 08-14 04:00

    STM32的学习方法

    STM32学习方法
    发表于 09-28 06:18

    模拟电子电路的学习方法

    模拟电子电路的学习方法
    发表于 08-07 15:49 252次下载
    模拟电子电路的<b class='flag-5'>学习方法</b>

    嵌入式linux学习方法总结

    嵌入式linux学习方法总结 嵌入式linux的学习现在挺流行
    发表于 09-10 10:44 3524次阅读

    第1章 ZigBee简介和学习方法

    ZigBee简介和学习方法很适合入门级别的人学习
    发表于 12-07 18:36 8次下载

    ZigBee 简介和学习方法

    zigbee简介以及学习方法,ZigBee的历史发展前景。
    发表于 04-15 14:07 14次下载

    深度讨论集成学习方法,解决AI实践难题

    集成学习方法是一类先进的机器学习方法,这类方法训练多个学习器并将它们结合起来解决一个问题,在实践中获得了巨大成功,并成为机器学习领域的“常青
    发表于 08-16 11:40 757次阅读
    深度讨论集成<b class='flag-5'>学习方法</b>,解决AI实践难题

    面向异质信息的网络表示学习方法综述

    面向异质信息的网络表示学习方法综述
    发表于 06-09 14:12 13次下载

    单片机学习方法总结资料分享

    单片机学习方法总结资料分享
    发表于 11-13 20:36 6次下载
    单片机<b class='flag-5'>学习方法</b>总结资料分享

    联合学习在传统机器学习方法中的应用

    联合学习在传统机器学习方法中的应用
    的头像 发表于 07-05 16:30 740次阅读
    联合<b class='flag-5'>学习</b>在传统机器<b class='flag-5'>学习方法</b>中的应用

    梳理单片机学习方法、产品开发流程

    梳理单片机学习方法、产品开发流程
    的头像 发表于 09-21 17:20 615次阅读
    梳理单片机<b class='flag-5'>学习方法</b>、产品开发流程