爬虫学到什么程度可以去找工作

x
用微信扫描二维码
分享至好友和朋友圈

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

  学到哪种程度

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

  (必要部分)

  1. 语言选择:一般是了解Python、Java、Golang之一

  2. 熟悉多线程编程、网络编程、HTTP协议相关

  3. 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到)

  4. 反爬相关,cookie、ip池、验证码等等

  5. 熟练使用分布式

  (非必要,建议)

  1. 了解消息队列,如RabbitMQ、Kafka、Redis等

  2. 具有数据挖掘、自然语言处理、信息检索、机器学习经验

  3. 熟悉APP数据采集、中间人代理

  4. 大数据处理(Hive/MR/Spark/Storm)

  5. 数据库Mysql,redis,mongdb

  6. 熟悉Git操作、linux环境开发

  7. 读懂js代码,这个真的很重要

  如何提升

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

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

  

  什么叫全站爬取

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

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

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

  

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

  实际项目经验

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

  1. 你爬过哪些网站

  2. 日均最大采集量是多少

  3. 你遇到哪些棘手问题,如何解决

  4. 等等

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

  

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

  语言选择

  我自己建议是Python、Java、Golang最好都了解,Java爬虫的也很多,但是网上教程几乎都是Python的,悲哀。

  最后说下Golang,Golang真的很牛逼,说个数字,Golang可以每分钟下载网页数量 2W ,Python可以吗~~

  

  关于反爬

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

  

  如何判断能力足够

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

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

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

跟贴 跟贴 2 参与 102
© 1997-2020 网易公司版权所有 About NetEase | 公司简介 | 联系方法 | 招聘信息 | 客户服务 | 隐私政策 | 广告服务 | 网站地图 | 意见反馈 | 不良信息举报

python那点事

专注基础扫盲,进阶。

头像

python那点事

专注基础扫盲,进阶。

48

篇文章

968

人关注

列表加载中...
请登录后再关注
x

用户登录

网易通行证/邮箱用户可以直接登录:
忘记密码