爬虫学到什么程度可以去找工作
点击上方“程序人生”,选择“置顶公众号”
第一时间关注程序猿(媛)身边的故事
*图片版权归 CSDN 所有
高考第一天:上班路上看到顶着炎炎烈日去高考的考生们,突然有种今天上班即使加班也很幸福的赶脚。
作者
小歪
这篇文章会说说我自己的心得体验,关于爬虫、关于工作,仅供参考。
文章如需转载,请联系原作者授权。
学到哪种程度
暂且把目标定位初级爬虫工程师,简单列一下吧:
(必要部分)
语言选择:一般是了解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也是需要理解原理的。
分布式如何搭建、如何解决其中遇到内存、速度问题。
参考 scrapy-redis 和 scrapy 有什么区别?
什么叫全站爬取
最简单的拿拉钩来举例,搜索关键词,有30页,不要以为把这30页爬完就是全站爬取了,你应该想方法把所有数据全部爬下来。
什么办法,通过筛选缩小范围,慢慢来就OK了。
同时,每个职位还会有推荐职位,再写一个采集推荐的爬虫。
这个过程需要注意的是如何去重,Mongo可以、redis也可以
实际项目经验
这个面试中肯定会被人问道,如:
你爬过哪些网站
日均最大采集量是多少
你遇到哪些棘手问题,如何解决
等等
那么怎么找项目呢?比如我要爬微博数据,去Github中搜索下,项目还算少吗?
模拟登陆其实就是一步步的请求,保存cookie会话
语言选择
我自己建议是Python、Java、Golang最好都了解,Java爬虫的也很多,但是网上教程几乎都是Python的,悲哀。
最后说下Golang,Golang真的很牛逼,说个数字,Golang可以每分钟下载网页数量 2W ,Python可以吗~~
宣传下自己的刷题项目 Leetcode Solutions By All Language
关于反爬
常见的 UA、Refer等需要了解是什么东西,有些验证的ID如何产生的,是否必要;关于IP池这块我不了解,不多说,需要注意的是如何设计拉黑机制;模拟登陆也是必要的,fuck-login 可以研究下代码,或者提PR。
如何判断能力足够
很简单,给个任务,爬取知乎上所有问题。
你会如何思考并设计这个项目?
欢迎留言指出。
以上仅为个人看法,若有不足之处请指出,希望可以帮助你。
- The End -
如群满可添加小编微信,备注“北京 ”:
程序 丨 druidlost
小七 丨 duoshangshuang
拉你入群
「若你有原创文章想与大家分享,欢迎投稿。」
投稿请备注#投稿#
点击图片get往期内容
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 习近平G20里约峰会展现大国担当 7911031
- 2 一个金镯子省出1200元 金价真跌了 7933143
- 3 胖东来:员工不许靠父母买房买车 7830397
- 4 二十国集团里约峰会将会卓有成效 7786417
- 5 俄导弹击中乌水电站大坝 7641287
- 6 孙颖莎王艺迪不敌日本削球组合 7535766
- 7 高三女生酒后被强奸致死?检方回应 7411507
- 8 第一视角记录虎鲨吞下手机全程 7382438
- 9 73岁王石独自带娃被偶遇 7290871
- 10 智慧乌镇点亮数字经济新未来 7180072