这篇文章会说说我自己的心得体验,关于爬虫、关于工作,仅供参考。
学到哪种程度
暂且把目标定位初级爬虫工程师,简单列一下吧:
(必要部分)
-
语言选择:一般是了解Python、Java、Golang之一
-
熟悉多线程编程、网络编程、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中搜索下,项目还算少吗?
模拟登陆其实就是一步步的请求,保存cookie会话
语言选择
我自己建议是Python,因为python的入门相对简单,而亲现在网上有关python的教程很多,学起来很方便,虽然总有人诟病它的速度很慢,但对于一个爬虫语言来讲,这些速度绝对够用。
关于Python的技术储备
在这里给大家分享一些免费的课程供大家学习,下面是课程里面的截图,扫描最下方的二维码就能全部领取,
1.Python所有方向的学习路线
2.学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
3.学习资料
4.实战资料
实践是检验真理的唯一标准。这里的压缩包可以让你再闲暇之余帮你提升你的个人能力。
5.视频课程
好啦今天的分享就到这里结束了,快乐的时光总是短暂呢,想学习更多课程的小伙伴不要着急,有更多惊喜哦~