IT行业老程序员的经验之谈:爬虫学到什么程度可以找到工作?

什么是爬虫?

百度百科:网络爬虫(又被称为网页,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。

最近很多朋友问我,学习爬虫,学到什么程度可以去找工作呢?

这篇文章会说说我自己的心得体验,关于爬虫、关于工作,仅供参考

为什么那么多人选择学习爬虫?

  1. 爬虫入门简单
  2. 薪资客观
  3. 求职门槛不高

一线城市(北京为例)

96.1%薪资是在10K以上,88.1%的人薪资是在10-30K,所以为什么说薪资非常客观了。

二线城市(成都为例)

学到哪种程度可以就业

暂且把目标定位初级爬虫工程师,简单列一下吧:

(必要部分)

  • 语言选择:一般是Python
  • 熟悉多线程编程、网络编程、HTTP协议相关
  • 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到)
  • 反爬相关,cookie、ip池、验证码等等
  • 熟练使用分布式

(非必要,建议)

  • 了解消息队列,如RabbitMQ、Kafka、Redis等
  • 具有数据挖掘、自然语言处理、信息检索、机器学习经验
  • 熟悉APP数据采集、中间人代理
  • 大数据处理(Hive/MR/Spark/Storm)
  • 数据库Mysql,redis,mongdb
  • 熟悉Git操作、linux环境开发
  • 读懂js代码,这个真的很重要

如何提升

随便看看知乎上的教程就可以入门了,就Python而言,会requests当然是不够的,还需要了解scrapy和pyspider这两个框架,scrapy_redis也是需要理解原理的。

  • 分布式如何搭建、
  • 如何解决其中遇到内存、速度问题。

什么叫全站爬取

最简单的拿拉钩来举例,搜索关键词,有30页,不要以为把这30页爬完就是全站爬取了,你应该想方法把所有数据全部爬下来。

什么办法,通过筛选缩小范围,慢慢来就OK了。

同时,每个职位还会有推荐职位,再写一个采集推荐的爬虫。

这个过程需要注意的是如何去重,Mongo可以、redis也可以

实际项目经验

这个面试中肯定会被人问道,如:

  • 你爬过哪些网站
  • 日均最大采集量是多少
  • 你遇到哪些棘手问题,如何解决
  • 等等

那么怎么找项目呢?比如我要爬微博数据,去Github中搜索下,项目还算少吗?

关于反爬

常见的 UA、Refer等需要了解是什么东西,有些验证的ID如何产生的,是否必要;关于IP池这块我不了解,不多说,需要注意的是如何设计拉黑机制;模拟登陆也是必要的, 可以研究下代码,或者提PR。

模拟登陆其实就是一步步的请求,保存cookie会话

如何判断能力足够

很简单,给个任务,爬取知乎上所有问题。

你会如何思考并设计这个项目?

欢迎留言指出

原文地址:https://www.cnblogs.com/Python6359/p/9418677.html

时间: 2024-11-04 20:13:43

IT行业老程序员的经验之谈:爬虫学到什么程度可以找到工作?的相关文章

20年的老程序员对新入行的朋友的一些建议

从事编程这一行也已经20年了,到今天为止,有关编程方面的知识我也写了六七门课程了,教授课程的时间也已超过了1000小时,下面我所说的全部是我多年来的实践的经验之谈. 编程真的不是一件容易的事. 不管你多喜欢或是多会编程,在学习和解决问题上总会碰到障碍.工作的时间越久就越能明白这个道理.不过这倒是一个让人进步的机会,因为你要一直不断的学习才能很好的解决你面前的难题.如果你已不有了进取心,那么当遇到难道无法解决时你就会想要放弃. 编程也是最让人沮丧的事情 正常的编程过程都是这样的:尝试.失败.学习.

老程序员应该记住的 5 件事

如果你甘于现状,并且已经在计划着怎么用退休金了,那么你不是这个帖子的主角.当然还是要恭喜你,已经快熬出头了.但是,如果你同我一样,尽管发现自己在变老,但却依然无法抵挡编码和构建东西的欲望,那么请继续往下看.我曾是一个系统软件工程师,但在我快40岁的时候,我被创业撞了一下腰.我认为创建自己的公司是一件很酷的事情.我建立了风险投资,在一些非常小的饥饿创业公司得到了一些花哨的头衔.我很自信我会成为一个好的CEO,一个不算坏的管理者,而且即便我不再编码,我也可以聘请一些优秀的程序员和管理人员——以求高品

老程序员应该记住的5件事

英文原文:Five Things Old Programmers Should Remember 如果你甘于现状,并且已经在计划着怎么用退休金了,那么你不是这个帖子的主角.当然还是要恭喜你,已经快熬出头了.但是,如果你同我一样,尽管发现自己在变老,但却依然无法抵挡编码和构建东西的欲望,那么请继续往下看. 我曾是一个系统软件工程师,但在我快 40 岁的时候,我被创业撞了一下腰.我认为创建自己的公司是一件很酷的事情.我建立了风险投资,在一些非常小的饥饿创业公司得到了一些花哨的头衔.我很自信我会成为一

10年IT人生酸甜苦辣的经历!一个老程序员的心理话

10年IT人生酸甜苦辣的经历!一个老程序员的心理话 我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶.我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心.而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑.C#就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”.96,97级的不少大学生都去做Web 了.当然我没有任

老程序员的忠告,觉得很真实,就转了

走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们. 01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好.   由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个.还好户口没丢掉,其他都已经是乱了,好几个

转载 写了 35 年代码的老程序员的最大遗憾

转载:写了 35 年代码的老程序员的最大遗憾 大约不到20年前,我处在人生十字路口上.我的第二家公司当时已经花了5年时间为出版行业打造专业图表制作软件,不过在那互联网即将大热的年代,出版商们已经逐渐向互联网领域转移,我们的业务渐渐枯竭.那时候我已经是一个有 13 年编程工作经验,而且同时有 9 年公司运营经验的综合性人才了. 我不想再同时又干技术又干管理了.我的第一家公司(1985-1987年)的主要业务是打造一款电子表格程序,并有自动发布的功能.当时我一人主导了整个公司的多项事务,与媒体打交道

IT人永远不老,老程序员价值何在?

IT人永远不老?做梦,怎么可能.无论你现在是多么风华正茂,青春洋溢,终有成熟.老去的那天. 但是,人的身体可以变老,人的精神面貌.心态却真的可以"归来仍是少年",只要你心不老,保持着对生活.对世界的好奇心和进取心,眼光和状态就会不同. 首先,你要对资本的残酷性有一定认识,很早就要有心理准备.一些公司当它需要你的时候,鼓吹"公司就是你的家",你可要明白这是忽悠,别真的信了 – 哪里有这回事.公司不是你的家,如果需要,它可以随时裁掉你,解除雇佣关系,毫不留情.人力与资本

国外一 名 40 岁 ” 老 “ 程序员 的 反思 | 转文

  本文是国外一位 40 岁“老”程序员对职业生涯的思考,他认为从长远来看,应该多投资一些不容易过期.衰竭期较长的知识领域中.译文大意如下:   我是一名程序员,几个月前刚过完四十岁生日.   某个星期六的早晨,我参加了一个 React Native 技术交流会,演讲者正在竭力说服我们为什么它会成为移动开发领域真正的下一个大事件.但对我来说,它有点像十五年前的 jsp ,将所有的逻辑都放在演示代码里面.但我“老”了,我认为这是因为自己还没有完全理解它.   演讲者展示完 ppt 后,现场进行编码

老程序员的忠告:不要做浮躁的软件工程师

老程序员的忠告:不要做浮躁的软件工程师:每天读一遍,思考一下:我是否浮躁? 1.不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么.当你自己想出来再参考别人的提示,就会知道自己和别人思路的差异. 2.初学者请不要看太多的书,那会误人子弟的,先找一本好书系统的学习.很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的. 3.看帮助.不要因为很难,而自己又是初学者所以就不看.帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,或不够直观. 4.不要被一些专用词汇所迷惑,最根本的是