【千字总结】爬虫学习指南-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.rhkb.cn/news/268988.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Maven】Maven 基础教程(四):搭建 Maven 私服 Nexus

《Maven 基础教程》系列,包含以下 4 篇文章: Maven 基础教程(一):基础介绍、开发环境配置Maven 基础教程(二):Maven 的使用Maven 基础教程(三):b…

数据迁移DTS | 云上MySQL 数据库迁移至达梦数据库

引入 云上 MySQL 数据库 —> 向达梦国产化数据库迁移 下载&安装 达梦客户端工具 DM->可参考之前国产化专栏达梦文章 创建模式 在客户端分别依次执行以下命令脚本(这里没有通过客户端管理工具去创建达梦数据库的模式,当然也可以通过图形化界…

YOLOv8独家原创改进:特征融合涨点篇 | 广义高效层聚合网络(GELAN) | YOLOv9

💡💡💡本文独家改进:即结合用梯度路径规划(CSPNet)和(ELAN)设计了一种广义的高效层聚合网络(GELAN),高效结合YOLOv8,实现涨点。 将GELAN添加在backbone和head处,提供多个yaml改进方法 💡💡💡在多个私有数据集和公开数据集VisDrone2019、PASCAL VOC实现…

MySQL-----视图

一 视图 ▶ 介绍 视图view是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用。 数据库中存放了视图的定义&…

格两例12345

osu/Lucky Roll gaming 周末osu有道题:lcg已知低位 def lcg(s, a, b, p):return (a * s b) % pp getPrime(floor(72.7)) a randrange(0, p) b randrange(0, p) seed randrange(0, p) print(f"{p }") print(f"{a }") print(f"{b …

SketchUp Pro 2023:颠覆传统,重塑设计世界mac/win版

SketchUp Pro 2023是一款强大的三维建模软件,专为设计师、建筑师和创意专业人士打造。这款软件以其直观易用的界面和强大的功能而著称,为用户提供了无限的创意空间。 SketchUp Pro 2023 软件获取 SketchUp Pro 2023在用户体验方面进行了全面的优化&…

20240304-2-计算机网络

计算机网络 知识体系 Questions 1.计算机网络分层的优点和缺点 优点 各层之间是独立的;灵活性好;结构上可分割开;易于实现和维护;能促进标准化工作。 缺点: 降低效率;有些功能会在不同的层次中重复出现&…

如何对比 MySQL 主备数据的一致性?

随着业务范围的扩大,很多企业为了保障核心业务的高可用性,选择了 MySQL 主从架构,这一套方案通常具备主备数据同步、数据备份与恢复、读写分离、高可用切换等特性,是一种相当成熟可靠的数据库架构方案。然而这套方案在特定情况下可…

安装 docker 可视化工具 portainer

portainer 官方网站 https://www.portainer.io/ 一、portainer 介绍 Portainer是一款开源的容器管理平台,它提供了一个直观易用的Web界面,帮助用户管理Docker容器集群、镜像、卷等资源。Portainer 支持多种 Docker 环境,包括本地Docker、Sw…

数学建模【多元线性回归模型】

一、多元线性回归模型简介 回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想来解决。回归分析的任务就是,通过研究自变量X和因变量Y的相关关系,尝试去解释Y的形成机制,进…

【Boost搜索引擎项目】Day1 项目介绍+去标签和数据清洗框架搭建

🌈欢迎来到C项目专栏 🙋🏾‍♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C、Linux系统编程、计算机网络、数据结构、Mysq…

毕业论文页眉页脚的设置

目录 一、理解:分页符和分节符的区别 二、页眉设置具体步骤 三、页脚设置具体步骤 一、理解:分页符和分节符的区别 分页符是重新一页开始而已,和页码无关! 分节符是从这里开始,是新的小节,页码和页眉都…

前后端依赖下载上传

在某些情况下,可能需要在没有互联网连接的环境中进行构建或部署。通过提前下载所有依赖,你可以将它们保存在本地,然后在没有网络连接时使用,提高构建或部署的效率。 前端下载依赖 脚本getTzgUrl.js const { readFileSync, writ…

【前端寻宝之路】总结学习使用CSS的引入方式

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-BNJBIEvpN0GHNeJ1 {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

死记硬背spring bean 的生命周期

1.bean的生命周期 我们平常经常使用类似于new Object()的方式去创建对象,在这个对象没有任何引用的时候,会被gc给回收掉。而对于spring而言,它本身存在一个Ioc容器,就是用来管理对象的,而对象的生命周期也完全由这个容…

上帝视角看GPU(5):图形流水线里的不可编程单元

【GPU】图形流水线基础【GPU】逻辑上的模块划分【GPU】部署到硬件【GPU】完整的软件栈 前几期我们过了一遍GPU的软硬栈。这次我们将深入GPU图形流水线的一些细节,看看那些不可编程的模块是怎么工作的。 对于GPU的图形流水线来说,最核心最重要的一个组件就…

leetcode第 387 场周赛总结

很久没打周赛了,这周开始恢复 这次周赛,题目比较简单,第三道题有点浪费了时间,思路是对的,但是被我把问题复杂化了。 给你一个下标从 1 开始、包含 不同 整数的数组 nums ,数组长度为 n 。 你需要通过 n 次…

【QT 5 +Linux下软件qt软件打包+qt生成软件创建可以安装压缩包+学习他人文章+第三篇:学习打包】

【QT 5 Linux下软件qt软件打包qt生成软件创建可以安装压缩包学习他人文章第三篇:学习打包】 1、前言2、实验环境3、自我学习总结-本篇总结(1)了解安装包的目录结构(2)了解要编写文件与编写脚本1. control文件2. postin…

美女街拍3000张高清图

美女街拍3000张高清图,需要的可以直接下载 2.资源下载 ​途径一:点击以下链接直接下载 美女街拍3000张高清图 途径二:直接长按住以下图片识别进去下载即可

北京大学发布,将试错引入大模型代理学习!

引言:探索语言智能的新边界 在人工智能的发展历程中,语言智能始终是一个核心的研究领域。随着大语言模型(LLM)的兴起,我们对语言智能的理解和应用已经迈入了一个新的阶段。这些模型不仅能够理解和生成自然语言&#x…