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

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 | 公司简介 | 联系方法 | 招聘信息 | 客户服务 | 隐私政策 | 广告服务 | 侵权投诉 Reporting Infringements | 不良信息举报

python那点事

专注基础扫盲,进阶。

头像

python那点事

专注基础扫盲,进阶。

48

篇文章

981

人关注

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

用户登录

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