【千字总结】爬虫学习指南-2024最新版

介绍

image.png

如何自学爬虫?今天有一个兄弟这样问我,可以看到打了很多字,诚意肯定是很足的,也是对我的内容给予了肯定,让我非常的开心。既然难得有人问我,那我一定要好好做一个回答。

我下面将要说的内容没有任何话是从网上复制粘贴的,全都是个人见解,所以也意味着可能有的小伙伴不赞同,没关系,我们可以在评论区交流一下。

下面我会从下面四个方面介绍爬虫,涉及到的学科,如何学编程,网上自学优缺点,我的学习方法和建议。

涉及学科

爬虫是一个复合型的学科。涉及到前端基础,python。学到后面逆向还可能设计到nodejs。由于我在大一的时候浅浅学了下html,当时还是用的dreamwaver拖拖拽拽学的。最后从室友那里得知了html原来可以用代码写,学习了html,css,js,最后还学了jquery,学习之后如获至宝。其实前端基础的布局样式学了其实就可以自己拼拼凑凑很多网页了。我当时就是所有布局都用flex布局写。可以复现一切网页,当然,时间没必要浪费在这些没意义的事情上。最后延申学了下nodejs,当时还做了一个网站叫做星梦启航,大家感兴趣的可以去看看。不过大家没必要学习那么深入,可能只安装学习下语法就够了。由于我之前跟着学校的授课体系或者是延申自学过这些相关技术,所以我感觉学习爬虫的过程一马平川。

为什么说涉及到的学科呢?其实涉及的学科这么多,意味着我们我们要想都精通会花费很多时间,不过好消息是我们爬虫用到的不是去用前端知识去复现网页,也不是用nodejs去写业务逻辑。我们用到的仅仅是定位网页内容,也就是你知道前端基础有关的知识即可,知道什么是html,什么是css,什么是js,常用的标签,样式,方法即可。同样的,nodejs学习只需要知道如何执行代码即可。

如何学习编程

其实我们的问题如何学习爬虫的本质也是如何学习编程。有一句话大家肯定听过,叫算法不分语言,编程不分语言。其实我们学习的很多编程语言都是偏上层应用的,都是别人封装好的语言接口供我们调用。我们学习不同的语言就是学习不同语言的特性和语法。然后就是拼装这些接口达到我们想要的效果。

尤其是学习python的时候,大量的三方库,我们只需要知道每个库是干什么的,一组装,得到我们想要的内容就可以了。比如说requests库进行网络请求获取网页源代码,lxml库进行网页解析获取我们想要的数据。然后一输出不就完了。一个基础的爬虫流程就是这样。简单的网站都可以这样解决。

但是学习编程不学习算法就没有灵魂,但这里的算法不是指机器学习里的算法,是指一些小题目,比如说判断回文数,水仙花数这种。写这些题目在我们开发的时候是99%都用不到的,但是对于我们的思维的锻炼是非常好的,如果大家时间充足完全可以自己刷刷题目,也是很有趣的。

还有就是编程技术更新迭代是非常快的,正如这个小伙伴所说有的视频很老了,自然教的技术栈可能也会老了,不少三方库经过这几年都会有些新的方法。比如selenium库我最近的时候发现好像不用手动安装配置webdriver了,之前最开始学的时候是还要手动查看版本,安装对应版本驱动的。这个问题的话我们就是看官方文档与利用搜索引擎。

自己会用搜索引擎搜索问题是一个非常重要的技能!

自学优缺点

对于我来说,学到的知识最开始全是在B站自学的,后续入门之后就是看官方文档,逛github,看博客,一些大佬搭建的个人博客,一些好的公众号,抖音上也有一些关注,当然还有一些别的渠道获取的学习资源。

说实话,在现在这个时代,学习的途径太多了,所以只要感兴趣,到处逛逛看看也会有很多收获。

自学无非就是自己找资源筛选资源,报班就是跟着别人的进度。我是倾向于自学的,因为你真正的会找资源的话这项技能是非常珍贵的,也能少走很多弯路。但是报班可能就别人直接把路给你引导好,你就很难有别的思考或者是自己经验的学习。

学习方法和建议和总结

首先是学习最主要的就是积累。日复一日,对于我来说就是关注很多B站python相关的up主,公众号,抖音也关注了很多。这样不论打开那个软件都可以学一些新的知识,开阔下见识。

第二点是工欲善其事必先利其器,不是说要弄个好电脑,我的几千块的办公本用了快四年没有弄机器学习相关的几乎没咋遇到过瓶颈。而是说用上好的工具可以少走很多弯路。比如浏览器直接用谷歌浏览器,搜索引擎直接用必应,编辑器直接pycharm或者vscode,还有一堆黑科技比如视频播放器,电脑插件等都需要自己慢慢积累。

学习方向找自己感兴趣的方向,web,人工智能。多尝试,兴趣是最好的老师,选择大于努力,我这个视频没有说劝大家入坑,只是分享自己学习的经验。

第三点是我的建议就是自学,找一个班要到他们的教学课表,怼着上面的内容就开始自己学。或者是先找一个b站基础教学视频跟着学。遇见不会的就可以google搜素或者是问gpt,学习速度绝对嘎嘎快。

第四点是:学习编程是非常注重实操的。可能你看完这个视频之后会觉得好像也没啥收获,没有那种绝对的观念绝对的引导在视频中。其实学习就是这样,你还没有学习这个技术,你永远都是在山内看山,是不会有大局的观念的,只有你新建一个html文件,敲出一个页面在浏览器打开的时候,你才会惊叹,原来如此啊。爬虫也同样如此,你没有学习的时候你肯定会对这个概念模糊不清,但当你用requests去成功请求一个网页之后,在克服一个又一个技术点后,你才会去惊叹:原来是这样啊!当然,最初期的学习你只是惊叹,原理你肯定不理解,但是无需害怕,雷总也说过,知识是网状分布的,等你学到后面的知识的时候可能前面的你突然就懂了。也有可能一些知识和现象会成为你潜移默化意识中的定理。纸上得来终觉浅,一定要实操。好,大家有好的想法也可以评论区交流探讨。


我呢,其实正在做一个刷题网站,帮助正在学习的小伙伴理清思路,检验成果。这个网站还处于写代码阶段,后续再介绍吧。

爬虫刷题网站:爬虫百战成神

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/430071.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

制作耳机壳的UV树脂和塑料材质相比优势有哪些?

制作耳机壳的UV树脂相比塑料材质有以下优势: 高强度与耐磨性:UV树脂具有高强度和耐磨性,能够更好地保护耳机内部零件,延长耳机使用寿命。相比之下,塑料材质可能较易磨损或刮伤。耐高温:UV树脂具有较好的耐…

探索Java开发面试笔记:以听为目的,助力编程技术提升与面试准备

文章目录 一、制作背景介绍二、 Java开发面试笔记:为你的编程之路加速2.1 公众号主题和目标读者群体2.2 为什么面试笔记对于提高编程视野和技术至关重要2.3 親測效率 三、形式案例3.1 文章形式3.2 手机案例3.3 电脑案例 一、制作背景介绍 做公众号的背景&#xff1a…

瑞_23种设计模式_享元模式

文章目录 1 享元模式(Flyweight Pattern)1.1 介绍1.2 概述1.3 享元模式的结构1.4 享元模式的优缺点1.5 享元模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析(Integer类) 🙊 …

公园常见污水处理需要哪些设备

根据我了解的情况,公园常见的污水处理需要以下几种设备: 1、格栅机:格栅机是污水处理的第一道工序,用于过滤掉污水中的大颗粒杂物和固体废物,防止其进入后续处理装置。 2、沉淀池:沉淀池用于将污水中的悬浮…

Platformview在iOS与Android上的实现方式对比

Android中早期版本Platformview的实现基于Virtual Display。VirtualDisplay方案的原理是,先将Native View绘制到虚显,然后Flutter通过从虚显输出中获取纹理并将其与自己内部的widget树进行合成,最后作为Flutter在 Android 上更大的纹理输出的…

MySQL·SQL优化

目录 一 . 前言 二 . 优化方法 1 . 索引 (1)数据构造 (2)单索引 (3)explain (4)组合索引 (5)索引总结 2 . 避免使用select * 3 . 用union all代替u…

前端小案例——登录界面(正则验证, 附源码)

一、前言 实现功能: 提供用户名和密码输入框。当用户提交表单时,阻止默认提交行为。使用正则表达式验证用户输入的内容,判断输入的是有效的邮箱地址还是身份证号码。根据验证结果,在输入框下方显示相应的提示信息。 实现逻辑&a…

注意力机制(代码实现案例)

学习目标 了解什么是注意力计算规则以及常见的计算规则.了解什么是注意力机制及其作用.掌握注意力机制的实现步骤. 1 注意力机制介绍 1.1 注意力概念 我们观察事物时,之所以能够快速判断一种事物(当然允许判断是错误的), 是因为我们大脑能够很快把注意力放在事物…

docker快照备份回滚

1. 安装系统 1.1 vm安装Ubuntu 参考:https://blog.csdn.net/u010308917/article/details/125157774 1.2 其他操作 添加自定义物理卷 –待补充– 1.2.1 查询可用物理卷 fdisk -l 输出如下 Disk /dev/loop0: 73.9 MiB, 77492224 bytes, 151352 sectors Units: sectors of …

运维随录实战(4)

添加账号并为账号赋予root权限 1,使用root账号添加一个普通账号 adduser test passwd test # 赋予密码 2,赋予root权限 修改/etc/sudoers文件,如果使用vi 命令打开提示仅只读,则使用 visudo命令打开 在root下面添加一行“test ALL=(ALL) ALL”,如下所示 3,将test账…

【MySQL使用】show processlist 命令详解

show processlist 命令详解 一、命令含义二、命令返回参数三、Command值解释四、State值解释五、参考资料 一、命令含义 对于一个MySQL连接,或者说一个线程,任何时刻都有一个状态,该状态表示了MySQL当前正在做什么。SHOW PROCESSLIST 命令的…

行人实时动作识别

详细资料和代码请加微信:17324069443 一、项目介绍 基于PyTorchVideo的实时动作识别框架: 我们选择了yolov5作为目标检测器,而不是Faster R-CNN,它速度更快、更方便。 我们使用一个跟踪器(deepsort)来为不…

STM32CubeIDE基础学习-安装芯片固件支持包

STM32CubeIDE基础学习-添加芯片固件支持包 前言 前面的文章在安装STM32CubeIDE软件时没有安装这个芯片PACK包,如果工程没有这个固件支持包的话是无法正常使用的,随便安装一个和芯片对应系列的支持包就可以了。 这篇文章来记录一下新增PACK包的常用操作…

【Docker】Windows11操作系统下安装、使用Docker保姆级教程

【Docker】Windows11操作系统下安装、使用Docker保姆级教程 大家好 我是寸铁👊 总结了一篇【Docker】Windows11操作系统下安装、使用Docker保姆级教程的文章✨ 喜欢的小伙伴可以点点关注 💝 前言 什么是 Docker? Docker 是一个开源平台&…

【优选算法】前缀和

前缀和思想其实就是一种简单的dp思想,也就是动态规划 什么时候用到前缀和?当要快速求出数组中某一个区间的和 前缀和模板 暴力解法 定义一个指针从左向右遍历,并且累加值即可,这里就不过多赘述,主要还是来看前缀和…

缓存雪崩、击穿、穿透

目录 前言 一、缓存雪崩 1.大量数据同时过期 1.均匀设置过期时间 2.互斥锁 3.后台更新缓存 2.Redis故障宕机 1.服务熔断或请求限流机制 2.构建Redis缓存高可靠集群 二、缓存击穿 1.设置互斥锁; 2.不给热点数据设置过期时间,由后台更新缓存。 …

可行性研究报告-范例直接套用

1业务需求可行性分析 2技术可行性分析 2.1规范化原则 2.2高度的兼容性和可移植性 2.3人性化、适用性 2.4标准化统一设计原则 2.5先进安全可扩展性原则 3开发周期可行性分析 4人力资源可行性分析 5成本分析 6收益分析 7结论 软件开发多套实际项目案例、方案、源码获取&#xff1…

使用API有效率地管理Dynadot域名,进行DNS域名解析

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

nodejs,JSDOM 补 window环境

window[atob] 是一个在浏览器中使用的 JavaScript 函数,用于将 base64 编码的字符串解码为原始数据。具体来说,atob 函数会将 base64 字符串解码为一个 DOMString,其中包含解码后的二进制数据。这在处理从服务器获取的 base64 编码的数据或在…

RedisDesktopManager连接Ubuntu的Redis失败解决办法

配置redis 1.设置redis在后台服务,修改配置文件 默认情况下是 no ,修改为yes,可以后台服务 2、设置redis端口,默认端口是6379,可以根据自己的需要,找到/et/redis/redis.conf文件, 修改port 3、设置密码 配置文件中…