专栏首页Python爬虫与算法进阶爬虫学到什么程度可以去找工作
原创

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

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

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

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

学到哪种程度

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

(必要部分)

  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也是需要理解原理的。

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

参考 scrapy-redis 和 scrapy 有什么区别?

image.png

什么叫全站爬取

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

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

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

image.png

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

参考 Scrapy中如何提高数据的插入速度

实际项目经验

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

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

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

image.png

语言选择

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

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

image.png

宣传下自己的刷题项目 Leetcode Solutions By All Language

关于反爬

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

image.png

如何判断能力足够

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

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

欢迎留言指出

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

    小歪
  • Spark教程(一)为什么要学spark

    Apache Spark是一个开源集群运算框架,最初是由加州大学柏克莱分校AMPLab所开发。相对于Hadoop的MapReduce会在运行完工作后将中介数据存...

    小歪
  • 说一道排序题

    关于Python的sorted排序算法,这篇文章讲的比较详细:python sort函数内部实现原理,说到Python使用的是著名的Timesort算法。

    小歪
  • 腾讯内部揭秘:游戏留存的隐藏杀手!

    近日。在腾讯内部分享会上,游戏数据分析组的高级游戏测试工程师为我们分享了质量数据分析对于游戏留存的影响。让我们更加深入的了解游戏质量数据分析的重要地位。

    WeTest质量开放平台团队
  • Siege的优缺点

    Siege是由多线程实现的同步压测工具,它实现的是模拟n个用户不停地访问某个URL的场景。由于多线程开销会比多进程小一些,因此该压测工具比多进程的压测工具在系统...

    蛋未明
  • 干货 | 一文带你了解携程第四代全链路测试系统

    康猛,携程网站运营中心资深技术支持工程师,在互联网基础架构系统设计,后端开发,性能测试领域有多年实践经验。喜欢钻研新技术,转化研究成果,提升工作效率。

    携程技术
  • 金融行业实战项目:如何理解业务?

    下表是某金融App的数据,请结合Excel数据集中的数据完成下列问题(某金融公司面试题,文末有数据下载 )

    猴子数据分析
  • CDN如何给子账号授权预热权限

    内容分发网络(CDN)接入了腾讯云云资源访问管理(Cloud Access Management)系统,您可以在 访问管理 控制台进行用户组、用户、角色、策略等...

    用户2553168
  • 第五:人脸识别算法课程系列文章-Facenet算法

    大家好,欢迎大家来到本节课。本次课给大家分享人脸识别的算法。从这里开始,我们就先看一下人脸识别算法所面临的挑战吧。

    算法发
  • 几个Python小案例,爱上Python编程!

    Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰。

    猫咪编程

扫码关注云+社区

领取腾讯云代金券