HTTP必须要有很深刻的理解,这是你网络爬虫之本;
BeautifulSoup、xpath这些都是基础操作了,一定要做到非常熟练;
Scrapy框架要会用,要能信手捏来写个分布式爬虫;
Webdriver、Selenium、PhantomJS也要会使用;
有一定的深度和广度。深度就是类似反反爬、加密破解、验证登录等技术;广度就是分布式、云计算等等
随着手持设备的市场占比越来越高,app 的数据采集、抓包工具的熟练使用会越来越重要
前端知识,尤其是常用的 js、ajax、html/xhtml、css 等相关技术。
爬虫,不是抓取到数据就完事了,还需要数据抽取、清洗、消重等方面经验。

初级:
网络基础: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小星星

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐