IT行业老程序员的经验之谈:爬虫学到什么程度可…
2018-08-05 07:51:21来源:博客园 阅读 ()
什么是爬虫?
百度百科:网络爬虫(又被称为网页,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。
最近很多朋友问我,学习爬虫,学到什么程度可以去找工作呢?
这篇文章会说说我自己的心得体验,关于爬虫、关于工作,仅供参考
为什么那么多人选择学习爬虫?
- 爬虫入门简单
- 薪资客观
- 求职门槛不高
一线城市(北京为例)
96.1%薪资是在10K以上,88.1%的人薪资是在10-30K,所以为什么说薪资非常客观了。
二线城市(成都为例)
学到哪种程度可以就业
暂且把目标定位初级爬虫工程师,简单列一下吧:
(必要部分)
- 语言选择:一般是Python
- 熟悉多线程编程、网络编程、HTTP协议相关
- 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到)
- 反爬相关,cookie、ip池、验证码等等
- 熟练使用分布式
(非必要,建议)
- 了解消息队列,如RabbitMQ、Kafka、Redis等
- 具有数据挖掘、自然语言处理、信息检索、机器学习经验
- 熟悉APP数据采集、中间人代理
- 大数据处理(Hive/MR/Spark/Storm)
- 数据库Mysql,redis,mongdb
- 熟悉Git操作、linux环境开发
- 读懂js代码,这个真的很重要
如何提升
随便看看知乎上的教程就可以入门了,就Python而言,会requests当然是不够的,还需要了解scrapy和pyspider这两个框架,scrapy_redis也是需要理解原理的。
- 分布式如何搭建、
- 如何解决其中遇到内存、速度问题。
什么叫全站爬取
最简单的拿拉钩来举例,搜索关键词,有30页,不要以为把这30页爬完就是全站爬取了,你应该想方法把所有数据全部爬下来。
什么办法,通过筛选缩小范围,慢慢来就OK了。
同时,每个职位还会有推荐职位,再写一个采集推荐的爬虫。
这个过程需要注意的是如何去重,Mongo可以、redis也可以
实际项目经验
这个面试中肯定会被人问道,如:
- 你爬过哪些网站
- 日均最大采集量是多少
- 你遇到哪些棘手问题,如何解决
- 等等
那么怎么找项目呢?比如我要爬微博数据,去Github中搜索下,项目还算少吗?
关于反爬
常见的 UA、Refer等需要了解是什么东西,有些验证的ID如何产生的,是否必要;关于IP池这块我不了解,不多说,需要注意的是如何设计拉黑机制;模拟登陆也是必要的, 可以研究下代码,或者提PR。
模拟登陆其实就是一步步的请求,保存cookie会话
如何判断能力足够
很简单,给个任务,爬取知乎上所有问题。
你会如何思考并设计这个项目?
欢迎留言指出
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:浅谈python的深浅拷贝
下一篇:python之判断年龄是否正确
- 程序员必备的600单词 2019-07-24
- 60K!刚面完Python!这个被Oracle裁掉的程序员求职刷爆全网 2019-06-14
- 8年开发经验程序员告诉你,零基础如何快速学习好python? 2019-05-22
- 5款Python程序员高频使用开发工具推荐 2019-04-11
- 程序员也该懂得“这样就好” 2019-03-12
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash