Python中如何成为一个合格的爬虫工程师?

先说一下小弟背景:非科班出身,刚接触用 Pyhton 写爬虫两个月左右。 最近接到的任务是爬取淘宝商品列表上的信息,被各种反爬搞的焦头烂额,对于前端知识极度匮乏的我,终于体会到只有后端知识是远远不能成为一个合格的爬虫工程师,所以在此向各位大佬请教一条前端知识的学习路线。首先最起码能分析出对方的反爬手段,接着就是如何反反爬。老弟我在此先感谢大家的献言献计。


Python中如何成为一个合格的爬虫工程师?
39 回复

爬虫很难有好前途,天花板太低,干的活太杂,变化太频繁,很难有积累。一般公司爬虫框架都搭好了,你也很难去做架构,天天就是网站一遍去写解析脚本了。后端天天 crud 离业务好歹近,熟练了可以做业务方面的架构工作。
总之,爬虫初级可以做,熟练后以后建议转后端或者转风控。


要成为一个合格的Python爬虫工程师,你得先搞定基础。requests和BeautifulSoup是入门标配,能处理大部分静态页面。但光会这个不够,现在网站反爬厉害,你得会用Selenium或Playwright处理动态加载,再用lxml提升解析速度。

数据存储是硬性要求,MySQL、MongoDB至少得熟一个,知道怎么设计表结构存爬下来的数据。Scrapy框架必须掌握,它的异步处理和中间件机制是应对大规模爬取的核心。

关键是要懂“规矩”。robots.txt得看,频率要控制,别把人家服务器搞崩了。该用代理IP就用,该加User-Agent就加。有些数据能爬,有些涉及隐私或版权的就得绕道。

建议边学边练,找个不太严的网站实际爬点数据,从简单到复杂慢慢来。

另外爬虫和前端关系不大,更重要的是分析反爬策略,破解网络接口。

歪个楼,我好像没听过“爬虫工程师”这个职位

第一步,先忘掉爬虫工程师这个名词。第二步,成为一个软件工程师。

低端工作,大佬才不会拿这个当工作

爬虫工程师?这种职位不是应该遮掩一下 至少换个名字吗?



说得对,应更正为数据采集才对。

我觉得这个学会就行了- -,没必要深入吧- -

三个阶段(针对反爬)
1.伪造 Headers 发请求然后解析,会处理 Cookie
2.解决账号和 IP 封禁,简单的验证码,简单的接口参数加密
3.破解各种行为式验证码和混淆 JS

至于你说的前端知识,个人认为没必要刻意去学,懂交互,HTML 会解析,能看懂并调试 JS 就差不多了

能看懂并调试 JS

这就是很大一部分人需要学的前端

一年爬虫,准备转大数据

爬虫是需要啥东西都了解一下的,不是单单学点前端知识就能解决问题,如果单纯的是为了破解的话应该学的是逆向知识,举两个常见的例子吧:
1、轻度混淆、没有用 eval 什么的加密的 JS 代码

这种级别的代码根本不需要什么前端知识,会用浏览器开发者工具调试的人随便就能找出需要的东西是在哪生成的,别人调用的什么库直接上 google 查就好了,一些关键词( md5、sha256、aes…)也很容易辨认,一眼就能看出是干嘛的,再打个断点就知道具体参数是什么了,所以跟前端知识没啥关系。
2、高度混淆 /加密+做了各种反调试检测的 JS 代码

这种代码你让做前端开发的人来看都看不懂,对于这种 JS 代码来说,普通的前端知识根本不重要,需要的是用一些更底层的东西来恢复出这一坨屎一样的代码它原来的样子,而且一些反调试的操作根本不会是正常的前端开发会用上的,所以跟前端知识依然没啥关系。

然后一些其他领域的东西也能作为你的工具,像你爬淘宝的话如果搞不定属于上面提到的第二种 JS 代码的 ua 参数生成,你还可以使用测试领域的自动化测试来做,如果觉得 PC 上的自动化测试对于当前需求的性价比不高,想要速度更快一些、资源占用更少一些、更稳定一些的,你还能在自动化测试的基础上加上安全领域的中间人攻击甚至更黑科技一点的操作,所以方法的多样性非常重要。(当然我遇到过的绝大多数只会用自动化测试工具爬的人水平也不咋样,逆向还是得会的)

#13 补上第二种代码的图

所有页面…所见即所得…

推荐这篇《爬虫需谨慎!!!那些你不知道的爬虫反爬虫套路》
http://dataunion.org/29654.html
里面有提到爬虫和反爬的攻防对决,大概是能看到高等级玩家是怎么玩的了

爬虫只能算副职业

爬虫确实天花板比较低,言归正传,自己以前写的一篇文章,希望对你有帮助 [博文链接]( https://www.howie6879.cn/post/2019/02-talk-about-python-spider/)

哎,我就是爬虫的,前端 java 都略懂。一般公司都搭好扩展好爬虫框架,每天写点解析,也有爬淘宝部分商品的需求
对于我这种菜鸟,pc 淘宝网页很难搞,浏览商品都要登录,app 抓包更是头大。最后通过 https://h5.m.taobao.com 这个找到接口取到了需要的数据

我勒个去这是用什么做的混淆诶,怎么有进制还有其他编码

就中国目前的法律来说,爬虫都是违法的。。。

少来这种把前提统统去掉,直接压缩到爬虫都是违法的

爬虫没有前途

开始你的表演,把前提给补上

小偷公司?

#22 这是阿里的

#26 前提有很多,数据的版权问题、数据的用途、部分数据对源站点是否重要(比如原创视频、电商网站的价格、景点 /票务类网站的余票 /价格信息)、用户协议中是否有标明禁止爬虫采集 /逆向工程等都可以影响爬虫的违法与否

#27 顺便再举两个例子:
比如你做了个网站,搜索引擎来爬你,你觉得违法的话那你的网站就不要让人家索引了呗,自己想办法导用户去;
比如你控制着任天堂的 eshop,有人来爬不同地区的游戏价格,然后做了个比价网站给其他玩家用来参考,不管你觉得违不违法你都不一定会去管,因为根本不影响你的利益,有了这网站之后一部分玩家还会买游戏买得更欢,你收厂商的授权费和抽成还是一样的收,皆大欢喜。

#30 楼层数打错了 #27 -> #26

爬虫从入门到入狱

阿里系网站正一五时花六时变,没有一定量的代理 ip 和账号,第一关你就出局了

学到了大佬,其实是未经授权的爬取应该都是违法的,这里不讨论数量,既然是需要爬虫去爬了数量肯定不会少,不管对方有没有告就法律层面来说就是违法的

#34 那你认为人肉爬虫违法吗?就是招一群实习生去 1688 上复制粘贴商品信息,然后上传到自家平台上的,这种公司我是见过的,从技术层面上来说这也是爬虫,只不过是人来做采集入库这个操作而已,但阿里并没有给过什么授权。
如果要说这事情违法的话,在律条里也找不出哪条能定罪的,毕竟人家只是从 1688 上复制粘贴到另一个地方,也没侵犯阿里的什么权益,最终货源还是走 1688 上去采购。
如果按“未经授权的爬取应该都是违法的”这种方式来说这公司是违法了的话,那是不是所有人在复制粘贴淘宝上的商品信息到微信上之前还要问一下阿里同不同意了呢?是不是当今社会上的几乎所有人都已经违法了呢?

你这就抬杠了,人肉爬都整出来了

#36 没抬杠,这是我见过的实际情况,确实存在这样的公司,人家就是招实习生人肉爬的。

为了防止你耍赖满地打滚,你说的是所有,那我是不是指出一条合法的爬虫就可以了?

回到顶部