垂直爬虫中是否需要逆向能力?

嘎啦嘛 卟镶咔 2019-06-26 10:49:48
事情是从一次爬虫岗位面试开始的。当时说到某东的数据抓取,我说这个平台反扒就是封ip和验证码,最省事办法就是代理ip+打码平台。
但是面试官说不能用打码,需要破解反爬,然后我就有点懵逼了,问了句是要自己破解验证码吗?然后就没下文了。

事后一直疑惑,去咨询了一下,结果被人说是没有一点逆向能力的菜逼。不过我也确实没啥逆向能力。但我还是很疑惑,什么是逆向能力,在垂直爬虫中的实际应用场景是什么样的?所谓逆向并不是识别验证码而是处理代码中加密的部分有事什么意思?

以某东为例,去年写爬虫时确实只遇到了封ip和验证码,代码中也没发现有什么加密,那面试官所谓的反爬又是什么?

我理解的是我的抓取方式类似于强盗式的,属于当着主人面疯狂作案。而面试官想要的是神偷式的,拿了人家数据还让人毫无察觉。不过还是请大神们指点迷津,我这次面试错在哪,如果我想在爬虫方向更进一步需要学习哪些知识。
...全文
3483 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
爬虫涉及到的东西太多了,图像识别,后端接口设计,前端js反爬,app脱壳逆向 等等
大佬请带带我 2019-07-04
  • 打赏
  • 举报
回复
也要学习逆向工程,爬虫学后面都是需要逆向的,把JS解开的话爬虫会很稳定的
  • 打赏
  • 举报
回复
引用 14 楼 请叫我派森 的回复:
面试的时候应该考察的是求职者学习和解决问题的能力,而不是对方是否会某一技术,显然,这个面试官有点装逼,还有一点现在的情况确实是更偏向于app爬虫了,不会逆向是很难解决问题的,python由于语法简洁,所以是很多人的选择,但是到了app逆向,你不会java是不行的,所以总结来看,技术永远是学不完的,自己要不断的努力,去提升自己


确实,现在越学越恐惧,不会的东西太多,入门时是站在湖边,稍微深入点就感觉看见了大河,再深入点都TM看见海了。。。。。
luoz_python 2019-06-27
  • 打赏
  • 举报
回复
顶一下,看着讨论知道了不少
xfs-coder 2019-06-27
  • 打赏
  • 举报
回复
面试的时候应该考察的是求职者学习和解决问题的能力,而不是对方是否会某一技术,显然,这个面试官有点装逼,还有一点现在的情况确实是更偏向于app爬虫了,不会逆向是很难解决问题的,python由于语法简洁,所以是很多人的选择,但是到了app逆向,你不会java是不行的,所以总结来看,技术永远是学不完的,自己要不断的努力,去提升自己
xking606 2019-06-27
  • 打赏
  • 举报
回复
谢谢,大佬分享的问题
  • 打赏
  • 举报
回复
引用 15 楼 ZhuCheng Xie 的回复:
估计是你要的待遇,对方给不了?


都没谈待遇
ZhuCheng Xie 2019-06-27
  • 打赏
  • 举报
回复
估计是你要的待遇,对方给不了?
  • 打赏
  • 举报
回复
引用 3 楼 陈年椰子 的回复:
也可能对方不是想招人。 不想招人, 理由多的是。


希望如此是这个原因吧
陈年椰子 2019-06-26
  • 打赏
  • 举报
回复
也可能对方不是想招人。 不想招人, 理由多的是。
  • 打赏
  • 举报
回复
引用 1 楼 陈年椰子 的回复:
破解反爬? 逆向能力?

我觉得能爬下数据,花最小成本(时间和金钱),那够了。 管他用啥招式呢?

面试官的意思是不是这样:不要打码平台 , 自己写验证码的模块, 比如用opencv 和 selenium 来搞掂滑块验证。


我原本也是这么想的,但是我问了一句是要自己识别验证码吗,然后就game over了。所以搞得我是一脸懵逼,如果面试官想考逆向,我也不是一点都不知道啊,毕竟js加密,token,cookie,app反编译也是搞爬虫经常遇到的,可面试官也没问啊。。。。。郁闷至极
陈年椰子 2019-06-26
  • 打赏
  • 举报
回复
破解反爬? 逆向能力? 我觉得能爬下数据,花最小成本(时间和金钱),那够了。 管他用啥招式呢? 面试官的意思是不是这样:不要打码平台 , 自己写验证码的模块, 比如用opencv 和 selenium 来搞掂滑块验证。
  • 打赏
  • 举报
回复
引用 12 楼 zh619569096 的回复:
[quote=引用 10 楼 陈年椰子 的回复:] 在python 论坛,很少看到这种讨论了。
其实我是做java爬虫的,不过现在貌似python爬虫是主流,所以只能发到这里来了,毕竟做爬虫主要的是破解方式而不是语言[/quote] 现在面试官对应聘爬虫岗的要求是各种 破壳 逆向 反编译。python,java,android 还有的要求会php。 其实他自己都不懂
  • 打赏
  • 举报
回复
引用 10 楼 陈年椰子 的回复:
在python 论坛,很少看到这种讨论了。


其实我是做java爬虫的,不过现在貌似python爬虫是主流,所以只能发到这里来了,毕竟做爬虫主要的是破解方式而不是语言
  • 打赏
  • 举报
回复
引用 9 楼 --lx 的回复:
[quote=引用 3 楼 zh619569096 的回复:]
[quote=引用 5 楼 --lx 的回复:]
垂直爬虫中是否需要逆向能力?

做爬虫自然要有一些逆向能力阿,要不找到了接口都不晓得怎么用,你需要逆向去找到一些参数的加密方式。

关于这个验证码的问题,正常来说可以借助代码来进行识别,这个很容易学会。当然有的验证码也是可以逆向破解的,去找验证码正确的参数,然后拿到签名,去发送token。


是否有相关参考信息,分析接口及参数只要是做过爬虫的基本都知道,但是你说的这种逆向破解验证码的方式真不知道[/quote]

我现在在做的项目,需要破解微信的二维码验证。只能逆向去破解[/quote]


二维码还真没处理过,我接触的还是图片和滑动验证码居多
陈年椰子 2019-06-26
  • 打赏
  • 举报
回复
在python 论坛,很少看到这种讨论了。
  • 打赏
  • 举报
回复
引用 3 楼 zh619569096 的回复:
[quote=引用 5 楼 --lx 的回复:] 垂直爬虫中是否需要逆向能力? 做爬虫自然要有一些逆向能力阿,要不找到了接口都不晓得怎么用,你需要逆向去找到一些参数的加密方式。 关于这个验证码的问题,正常来说可以借助代码来进行识别,这个很容易学会。当然有的验证码也是可以逆向破解的,去找验证码正确的参数,然后拿到签名,去发送token。
是否有相关参考信息,分析接口及参数只要是做过爬虫的基本都知道,但是你说的这种逆向破解验证码的方式真不知道[/quote] 我现在在做的项目,需要破解微信的二维码验证。只能逆向去破解
  • 打赏
  • 举报
回复
引用 6 楼 一笑程序猴 的回复:
我觉得是这个面试官有问题,问了不说有点装x了。总结面试经验是对的,但不用太过于纠结,有时候面试官也不一定是对的。首先要搞清爬虫的目的,就像一楼所说以最小的成本拿下想要的数据就够了。


可能我说话方式也有问题,因为这个爬虫太简单了,所以我直接回了人家一句代理ip+打码就解决。没准人家以为我不了解爬虫在那瞎编呢。。。。。对于爬虫的态度就是不管技术low不low都无所谓,关键是要实现稳定快速的数据抓取。但是实际情况与面试毕竟不一样,唉!
  • 打赏
  • 举报
回复
引用 5 楼 --lx 的回复:
垂直爬虫中是否需要逆向能力?

做爬虫自然要有一些逆向能力阿,要不找到了接口都不晓得怎么用,你需要逆向去找到一些参数的加密方式。

关于这个验证码的问题,正常来说可以借助代码来进行识别,这个很容易学会。当然有的验证码也是可以逆向破解的,去找验证码正确的参数,然后拿到签名,去发送token。


是否有相关参考信息,分析接口及参数只要是做过爬虫的基本都知道,但是你说的这种逆向破解验证码的方式真不知道
一笑程序猴 2019-06-26
  • 打赏
  • 举报
回复
我觉得是这个面试官有问题,问了不说有点装x了。总结面试经验是对的,但不用太过于纠结,有时候面试官也不一定是对的。首先要搞清爬虫的目的,就像一楼所说以最小的成本拿下想要的数据就够了。
加载更多回复(1)
关于爬虫技术 一、什么是爬虫 我这里所说的爬虫就是传统的搜索引擎,因为我们一度把YAHOO一类的目录也称作搜索引擎,所以这个概念已经有些混乱了。 搜索引擎:也叫 "蜘蛛"或 "网络爬虫",为了能产生web页的目录册,搜索引擎持续不停的访问internet上的web站点。由于他们是自动运行,并将大量的web页进行索引,搜索引擎也经常能够发现没有列在目录的信息。 "搜索引擎"这个词一般都用来描述真正的搜索引擎和目录,其实他们并不是一回事,区别在于结果列表是如何编译生成的。 二、搜索引擎与目录的区别 1)搜索引擎: 搜索引擎,如HotBot,自动产生列表。搜索引擎在web上爬行,于是人们用它们来搜索。 如果逆向改变你的web页,搜索引擎最后会发现这些变化。并会对你的列表方式产生变化。页面标题,正文即其他因素都会产生影响。 2)目录: 一个类如Yahoo的目录是依靠人工列表。 你向目录递交一份自己整个站点的描述,或者编辑为他们所看过的站点写一份。 搜索只有在递交的描述寻找回应。 3)混合搜索引擎:有一些搜索引擎拥有一个相关的目录,包含于一个搜索引擎的目录通常是幸运与质量的结合。 三、搜索引擎的组成部分 搜索引擎由三个主要元素。第一是spider,也叫crawler。 Spider访问一个web页,阅读并接着跟随此站点的其他连结。这就是有人指的站点被spidered或crawled.这个spider就会规律性的访问此站点,如每一两个月,来发现是否有变化。 Spider发现的一切都进入到搜索引擎的第二个部分:索引。有时索引叫做目录,像一本包含有spider发现的每一个web页的巨书,如果有一个web页发生变化,于是此书就会更新新的信息。 有时对于新页面或spiders加到索引的变化来说它要花一会时间。这样,一个web页也许已被 "发现" 但还没有被 "索引"。在它被索引以前----即加入到索引-----对那些用此搜索引擎搜索人来说是不可用的。 搜索引擎软件是一个搜索引擎的第三个部分。 这就是一种程序-----通过审查上百万记录在索引的页面来找到搜索的回应并将其归类为他认为是最相关的。 搜索引擎特征页:这一页的信息已经从每一个搜索引擎的帮助页里拿出来,并带有从文章、评论、书籍、独立的研究以及其他来自于各个不同的搜索引擎的信息。 所有的搜索引擎都具有以上描述的基本部分,但这些部分是如何来协调的是有区别的。这就是为什么在不同的搜索引擎上进行同样的搜索经常会产上不同的结果。 四、新趋势 垂直引擎(vertigine:vertical engine), 往往是目录和爬虫技术混合之后的再发展,更加注重科学的分类技术,以搜索的精确性和正确性为首要保证。

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧