0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

成为爬虫工程师需要哪些技能

工程师人生 来源:wv 作者:简书网 2019-09-18 11:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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小星星

在学习python中有任何困难不懂的可以加入我的python交流学习qun :227-435-450,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习python有任何问题(学习方法,学习效率,如何就业)。

3、首先说说Python吧

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

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

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

爬虫技术

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

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

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

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

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

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

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

加分项:

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1600

    浏览量

    70664
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89616
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    硬件工程师面试必会:10个核心考点#硬件设计 #硬件工程师 #电路设计 #电路设计

    硬件工程师
    安泰小课堂
    发布于 :2025年09月23日 18:00:33

    电源工程师的核心技能树体系

    电源工程师的核心技能树体系需覆盖从基础理论到专业实践、工具应用及行业适配的全链条能力。以下是系统化的技能框架,按知识层级和应用场景展开,帮助从业者明确能力提升路径: 一、基础理论层:核心知识根基
    的头像 发表于 06-05 09:44 1792次阅读

    一个优秀的射频测试工程师需要具备哪些技能

    一个优秀的射频测试工程师需要具备哪些技能?在无线技术高速发展的今天,射频(RF)测试工程师是确保通信设备性能与用户体验的关键角色。从复杂的调制方案到无处不在的干扰,从功耗优化到标准合规
    的头像 发表于 05-16 10:08 1546次阅读
    一个优秀的射频测试<b class='flag-5'>工程师</b><b class='flag-5'>需要</b>具备哪些<b class='flag-5'>技能</b>?

    问,成为硬件工程师需要几只手?#硬件工程师 #YXC晶振 #扬兴科技 #搞笑

    硬件工程师
    扬兴科技
    发布于 :2025年04月25日 17:15:37

    如何成为一名合格的KaihongOS北向应用开发工程师

    :参加相关的培训、研讨会或会议,不断提升自己的技能。 10. 获得认证 专业认证:如果可能,获取相关的专业认证,这可以增加你的可信度和市场竞争力。 成为一名合格的北向应用开发工程师需要
    发表于 04-23 06:46

    硬件工程师手册(全套)

    的性能价格比达至最优。 5、技术开放,资源共享,促进公司整体的技术提升。 §1.2.1 硬件工程师基本素质与技术 硬件工程师应掌握如下基本技能: 第一、由需求分析至总体方案、详细设计的设计创造能力
    发表于 04-22 15:05

    如何成为一名嵌入式软件工程师

    如何成为一名嵌入式软件工程师? 01明确岗位的角色与定位 嵌入式软件工程师主要负责开发运行在特定硬件平台上的软件,这些软件通常与硬件紧密集成,以实现特定的功能。 不仅需要精通编程语言
    发表于 04-15 14:37

    Allegro工程师能力升级建议 工程师技能如何升级进阶

    根据Cadence认证体系及中国企业需求,Allegro工程师能力分三级,分别是初级、中级、高级工程师。那么这三种工程师技能如何升级进阶?   1、初级
    的头像 发表于 03-31 11:39 1321次阅读

    一招拿捏电子工程师#被AI拿捏了 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    嵌入式软件工程师就业好不好?

    的发展机遇。 无年龄危机 嵌入式软件工程师需要跨学科学习、跨行业应用、多技能储备以及终身学习,这意味着他们一直处于知识和技能的积累状态。 因此,嵌入式软件
    发表于 02-20 10:19

    如何成为嵌入式开发工程师

    如何成为嵌入式开发工程师成为嵌入式开发工程师通常需要掌握一系列技能和知识,并且在实践中不断积
    发表于 02-19 10:39

    如何成为一名合格的北向应用开发工程师

    自己的技能。 10. 获得认证 专业认证 :如果可能,获取相关的专业认证,这可以增加你的可信度和市场竞争力。 成为一名合格的北向应用开发工程师需要时间和努力,通过不断学习和实践,你将能
    发表于 01-10 10:00