爬虫 第一篇

从学校开始接触web crawler  ,至今3年时间。今天总结一下学习网络爬虫的路线。

 

网络爬虫就是模拟browser 访问网上的资源,并对网页源文件进行处理,解析,获取需要的网页信息。

 

要编写一个网络爬虫,需要具备较为广泛的计算机知识,特别是计算机网络相关储备。

 

可以从一个简单的网页源文件下载程序入手,之后编写一个简单的解析,字符串处理。获得页面信息。


开发语言:

网络爬虫可以用Java、C\C++、python、C#、R等开发。

目前我用Java开发网络爬虫,Java的优势是有较多的开源的jar包可以使用。开发出来性能也可以。


接下里会用Java语言作为工具写一些开发爬虫的技术。敬请期待


爬虫技术目标:

1.分布式

2.任务调度

3.所见即所得


如果可以实现这三个目标就是爬虫中的高级人才了。


首先要选一个好的开发平台。

爬虫的原理很简单那,基本上任何可以网络编程的语言都可以实现一个网络爬虫,曾经在一本十年前的爬虫技术书籍上看到php写的爬虫,运行在web容器里。

R也可以写爬虫,数据直接采集到内存中,python的开源包基本上可以花最短的时间和最少的代码实现一个爬虫,java功能强大,实现爬虫自然不在话下,新兴的C#自然也可以胜任,C/C++写的爬虫效率高的吓人。


至于怎么选择,还是根据公司的需求。

一般选择java、python可以快速实现生产环境,如果你有一个宏达的目标就用C++

几乎所有的搜索引擎都是用C++编写的爬虫,这也可搜索引擎的特点有关,需要大量的数据,不需要精确的解析。



近日面试了某著名移动互联网公司的爬虫岗位,面试总共三轮,可惜最后一轮表现不佳。


先说情况,某位猎头找到我,推荐这个岗位,一开自己没有答应,犹豫自己的实力是否足够,之后想着试试看,看看爬虫界的高手水平怎样。


第一轮:了解基本情况,看看简历中的一些问题,感觉基本上都会过,毕竟简历经过筛选了。

第二轮:二对一,估计是爬虫组的负责人,问了很多爬虫的细节问题,如怎么解析网页,网页坏掉了解析器会不会崩溃,网页编码怎么获取。

怎么模拟登录,登陆之后怎么提高采集的效率。


怎么解析ajax页面,能否不做渲染。


遇到防采集怎么办

以前感觉这些问题很难,现在感觉这些都是最基本的,如果答不出,基本就没戏了。



第三轮:估计是技术主管之类的吧,有些年纪了,上来就开始往深处文,一些java的深度知识,最后遗憾的出局,以后面试的时候需要做好准备,事先了解常见的基础知识,用一门语言就用到极致。


通过这次面试获得的信息是:

1.此企业的服务器有近千台,估计用于用于爬虫的有上百台,基于对程序效率的要求,没有用java开发,但基本的原理相似。

2.大家遇到的瓶颈基本相似,有高手可以挑战一下,模拟登陆被封IP

  爬虫集群的任务调度,ajax的解析。

3.经过高手的提醒,掌握了模拟登录的原理,需寻找某些调试工具。

4.了解网络协议很重要。



互联网金融企业需要爬虫工程师,我可以胜任了。

大家都想到的都差不多,就看谁业务发展的快了。


爬虫、大数据、数据挖掘 交流群:

QQ  177655321

欢迎各位高手交流


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值