Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

对爬虫祛魅 #1

Open
cpython666 opened this issue Jul 20, 2024 · 1 comment
Open

对爬虫祛魅 #1

cpython666 opened this issue Jul 20, 2024 · 1 comment
Labels

Comments

@cpython666
Copy link
Owner

cpython666 commented Jul 20, 2024

写在前面

对爬虫祛魅

最近总是可以看到一些关于祛魅的视频,对高学历祛魅,对导师祛魅,对大厂祛魅,那么在这里我也要对大家说对爬虫祛魅🤓。

认知曲线

我们接触一门技术的认知往往是这样:听到了这个技术的好处便利,因此对这个技术就有了向往,觉得他好,大致安装下环境输出helloworld就觉得其实也挺简单。但是随着越来越深入,学到语言特性或者是大量的知识点,大量的三方库,或许能力或许精力的不足可能又会让你感觉到学习的吃力。过程中你也可能会认识到然后痛恨于这门语言的局限。就像你开始学习python的时候,你看到的是它可以数据处理,可以科学计算,可以制作一些办公小工具,拥有许多领域的大量的三方库,可以五六行代码就运行一个web服务,但是可能又在某一个节点,你抱怨为什么python这么慢,为什么python工作岗位少。最后等到你终于某个技术修成正果,找到了这个技术的门道,能够熟练掌握运用的时候又会觉得这个技术不过如此。
做了一张图,belike:
image

爬虫学习是怎样的?

爬虫也是如此,最简单的开始,我们打开一个静态网页,或许复制一下就不费吹灰之力就获取到了数据,这个时候你可能嘴角上扬,瞬间觉得前途光明起来了。这就是爬虫吗,这么简单吗?这种感觉可能会遍布你学习之路中解决问题之后,但是随之而来的绝对不会是一帆风顺,一定会有更难的点,或许会让你几天盯着一个知识点看,因为我们的技术是不断迭代的。从来没有哪个学科发展到了尽头,爬虫也是如此,有爬虫就有反爬,尤其在这个博弈的过程,你可能需要会爬虫的技术,也需要有反爬的思维。

爬虫涉及的技术栈

爬虫的技术栈涉及很广,前端的html,js,nodejs,后端的各种可以进行网络请求的语言python,java。以及他们用来网络请求的库,自动化工具库等。也有无需编程等拖拽式的自动化工具:八爪鱼,影刀等。其中每一个语言或者库都可能需要专门学一下。学的太少的话又容易在过程中遇到一些很简单但是是自己盲区的地方而导致卡了很久。 有时候有需要一些技术栈相互配合,不同的技术栈也有一些各自更适合的场景。有时候这个技术栈解决不了,但使用另一个技术栈就可以很简单轻松地解决。 但是在这里需要说一下,我们爬虫最重要的不是技术栈,不是语言,不是工具库,最重要的是思想!最重要的是思想!最重要的是思想!!!
也就是去采集的思路,有了爬虫去采集网页的思路之后,接下来才是实现这些思路的语言,python,js,java等等几十种语言都能去进行网络请求,很多也有自动化的工具库,并且并没有什么巨大的差异。
况且,就算你不学习爬虫那些代码,单单是学习下浏览器的开发者工具的使用,都能很轻松实现之前你生活中想要做的事情,比如说某某音乐,某某短视频你想要下载资源,这个时候就可以打开我们控制台的网络面板,你可以看到这个网站所有涉及到的资源,音乐,视频,图片,数据,应有尽有...

PS

不对啊,我在讲对爬虫祛魅怎么好像前面说的东西好像会把新人吓跑啊🤔。
算了不管了,说都说了🤡,其实爬虫还是很简单的,就调调包,你知道了反爬的思想方式知道如何去应对就好了。
而且现在很多网站根本就没有反爬,最少80%左右。简单掌握点自动化也可以做很多事情了!!!
不要觉得高手很厉害,虽然我也觉得那些高手很厉害,但是我还要跟你说:别怕,真的很简单。
我现在也是觉得我就是个菜货,但是如果你要觉得我很厉害的话,那我只能说:无他,唯手熟尔。
如果你实在内心有一种恐惧的话,你随便找个教爬虫的培训班问问,问爬虫简单不,他们都会告诉你,非常简单的,只要你肯学,每天两小时三个月就学会了,学会了可以接单,当做副业财富自由。。。🐶

什么是爬虫?

所谓的爬虫其实就是去网络上获取数据,所以肯定是离不开网络请求,网络请求几十种语言或者工具都具备。比如curl,最常用的python,java,js,你只需要会一种语言,或者说爬虫从来和语言不是很大关系,他最重要的是思路。思路才是通用的,就像编程一样。
所谓的爬虫,其实就是把我们网页上看到的内容获取到。没别的事情了,只不过网站的站长不想给我们获取网站的数据资源,所以会阻碍我们,我们爬虫的难度由此而来。
有人说人工去复制粘贴算不算爬虫?怎么不算?肯定算!
看下面一则新闻:
f80d5160a2e9d8b78a925c10f3889ec1
人工采集的方式?没错,不管是不是,不管大家信不信,反正人家都既然这样说了,那肯定也是合理的。不要觉得技术er都是高大上风光无限的,其实有些场景代码实在处理不了的,只能人工来!比如特别不规范的网页,你根本找不到规律可言,又如何去用xpath提取数据吖。
既然可以人工采集,那为什么要找爬虫工程师写代码呢?招一堆人去手动复制粘贴行吗?怎么不行?行啊!只不过综合多方面因素来考虑的话,出错率,规范,人力成本,时间资源,或者...名号,总不能一个科技公司数据全靠人工复制粘贴去获取吧,传出去还怎么混啊😂😂。

违法的边界

我们其实并没有一个清晰的边界来界定是否违法,但是个人信息这些东西是绝对不要动的。为什么说没有清晰界限呢?因为如果我用代码去采集数据违法的话,那我手动复制粘贴违法吗?如果我手动复制粘贴也不行,那我能不能看了之后告诉另一个人,另一个人再将数据手动输入到我们自己的网站呢?什么?也不行?那你怎么知道我的数据是从你那里来的呢。反正就是我也说不清,大家自己体会。
引用大佬的一句话是这样说的:不要让别人难堪。
我的理解是:你去采集到别人的数据,又去发布到自己的网站,引流赚米,又去跟人家竞争抢市场,人家不干你干谁。🫣

@whiskerwing
Copy link

前几道题的状态貌似直接就是通过,可以在源码数据库里改下状态

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants