搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > Python人工智能 > 起薪2万的爬虫工程师,Python需要学到什么程度?

起薪2万的爬虫工程师,Python需要学到什么程度?

Python人工智能 2018-11-01

Python 爬虫学到什么样就可以找工作了?

非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了。比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等……但是因为不是计算机专业的,也没学所谓的四大名著,不知道那四大对找工作重要吗?给一个网站去写一个爬虫,基本上会了,该怎么进阶呢?希望各位大神给点建议。


做爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。


1


前段时间快要毕业,而我又不想找自己的老本行Java开发了,所以面了很多Python爬虫岗位。


因为我在南京上学,所以我一开始只是在南京投了简历,我一共面试了十几家企业,其中只有一家没有给我发offer,其他企业都愿意给到10K的薪资,不要拿南京的薪资水平和北上深的薪资水平比较,结合面试常问的问题类型说一说我的心得体会。


第一点:Python

因为面试的是Python爬虫岗位,面试官大多数会考察面试者的基础的Python知识,包括但不限于:

  • Python2.x与Python3.x的区别

  • Python的装饰器

  • Python的异步

  • Python的一些常用内置库,比如多线程之类的


第二点:数据结构与算法


数据结构与算法是对面试者尤其是校招生面试的一个很重要的点,当然小公司不会太在意这些,从目前的招聘情况来看对面试者的数据结构与算法的重视程度与企业的好坏成正比,那些从不问你数据结构的你就要当心他们是否把你当码农用的,当然以上情况不绝对,最终解释权归面试官所有。


第三点:Python爬虫


最重要也是最关键的一点当然是你的Python爬虫相关的知识与经验储备,这通常也是面试官考察的重点,包括但不限于:


  • 你遇到过的反爬虫的策略有哪些?

  • 你常用的反反爬虫的方案有哪些?

  • 你用过多线程和异步吗?除此之外你还用过什么方法来提高爬虫效率?

  • 有没有做过增量式抓取?

  • 对Python爬虫框架是否有了解?


第四点:爬虫相关的项目经验


爬虫重在实践,除了理论知识之外,面试官也会十分注重爬虫相关的项目:


  • 你做过哪些爬虫项目?如果有Github最好

  • 你认为你做的最好的爬虫项目是哪个?其中解决了什么难题?有什么特别之处?


以上是我在面试过程中,会碰到的一些技术相关的问题的总结,当然面试中不光是技术这一点,但是对于做技术的,过了技术面基本上就是薪资问题了。


也许有人问我现在在哪家公司做爬虫开发?很抱歉,最终我放弃了南京的所有机会到了上海做我更喜欢的岗位:数据工程师。


2


给你一点我的面经吧。


初级的:

网络基础:cookie,session,https,headers常用的字段,代理使用等等

python基础:这个网上搜到的面经都得会,加上异步,多进程,多线程等等


爬虫:xpath,requests如何处理https,常见的反爬措施,举例说一个最难的爬虫过程,scrapy使用中的细节,例如代理,cookie,传参等等。


数据库:数据库操作,并表之类的。


中级:

网络:几层网络层的细节,比如说说udp/tcp/smtp区别,说说10.x.x.x/127.x.x.x/192.x.x.x的区别,说说DNS,谈谈路由交换机的区别

python:多重继承,多态,单例用装饰器的实现,数组/生成器/列表解析效率等等稍深入的细节


爬虫:分布式爬虫的实现,给你一个任务你马上给出一个合理的架构,验证码的处理,增量数据爬取,写爬虫时有没写些辅助工具。


数据库:sql nosql的细节,性能上的。


加分项:数据挖掘,机器学习,自然语言处理,能写网站,熟练操作linux,github小星星


3


首先说说Python吧


爬虫给人的感觉就是对于Python编程的知识要求并不高,确实,搞懂基本数据结构、语句,会写写函数好像就OK了。


自己业余玩玩爬点数据还OK,但是你是要找工作成功爬虫工程师的,扎实的编程基础可不是会写函数就够了的。Python的高级特性、面向对象编程、多线程、装饰器等等你至少需要了解一下吧。


现在很多爬虫工程师的面试,编程的基本功要求还是很高的。编程的功底,以及对语言的理解,从某种程度上可以看出你的学习能力、发展潜力。


爬虫技术


HTTP必须要有很深刻的理解,这是你纵横网络的立身之本;


BeautifulSoup、xpath这些都是基础操作了,一定要做到非常熟练;

Scrapy框架要会用,要能信手捏来写个分布式爬虫;


Webdriver、Selenium、PhantomJS至少也要会使用吧;


反爬虫的技巧,重中之重,能不能搞回来数据,能高多少数据回来,很大程度依赖于此。抓包、cookie分析、代理池搭建、字体加密、验证码处理等等,也都是常规操作了;


当然数据库也少不了啊。一般企业要求至少会一种SQL和一种noSQL。


了解布隆过滤器,会增量爬取。


加分项:


掌握Python web相关的一些东西,能够进行后端开发;


掌握数据分析或者数据挖掘的技能,能够搞个算法模型,做个分析和预测。


▼   推荐阅读

人工智能爆发,Python是最适合人工智能的编程语言。如果你想学习Python,我为你准备了免费资料:

- 回复「教程」下载Python基础学习视频

- 回复「入门」下载《Python编程入门》

- 回复「干货」下载《简明Python教程》

如链接失效请给我后台留言,单发。

长按二维码关注Python人工智能

最前沿资讯、学习资料一站收入

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《起薪2万的爬虫工程师,Python需要学到什么程度?》的版权归原作者「Python人工智能」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注Python人工智能微信公众号

Python人工智能微信公众号:python109

Python人工智能

手机扫描上方二维码即可关注Python人工智能微信公众号

Python人工智能最新文章

精品公众号随机推荐

下一篇 >>

浅谈布隆过滤器