一、简介
网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。【从别人的网站爬取有用数据到自己本地数据库】
网络爬虫基本原理以及jsoup基本使用方法:http://my.oschina.net/xsh1208/blog/465121
二、分类
传统爬虫和聚焦爬虫。
传统爬虫:从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。通俗的讲,也就是通过源码解析来获得想要的内容。
聚焦爬虫:工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。
三、防爬虫
KS-WAF:将爬虫行为分为 搜索引擎爬虫 及 扫描程序爬虫,可屏蔽特定的搜索引擎爬虫节省带宽和性能,也可屏蔽扫描程序爬虫,避免网站被恶意抓取页面。
四、爬虫技术
nutch httpclient Jsoup 等等
Httpclient:可以仿浏览器访问
【具体介绍之后补上】
五、爬虫程序策略(爬虫如何解决ip封锁问题)
本地通过程序爬取他人网站内容,如遇被封ip,则可采取以下方式处理:
1、技术处理【调节网页爬虫的请求频率】
在程序中使用伪装术,不明目张胆的爬【使用代理;使用高级爬虫(不定周期爬)】
2、简单处理【随时动态更换ip】
如果在公司被封ip,则可考虑重启路由,重新获取公网ip
自动更改IP地址反爬虫封锁,支持多线程,可参考(待校验):http://www.open-open.com/lib/view/open1427353292652.html
3、网络处理 【与第2点类似,代理访问,ADSL拨号】
被封ip后,本地ip不能访问该网站,但是设置了代理服务器后,浏览器可以访问该网站【注意:程序不可以访问网站,故可以给请求的http设置代理】。可以在命令行加路由,一般格式为:route add ip地址 mask 子网掩码 默认网关前提:把掩码要改成跟上面掩码一样。这个路由重新开机就没有了。可以 route add -p ip地址 mask 子网掩码 默认网关。这样的话,重新开机都在的。
使用ADSL拨号最大的有点就是:ip不固定,重启下路由就可以换一个新的ip了。而且ISP拥有大量的IP,会分配到和之前相同的IP机率很低。一旦你发现目前的IP被封锁,便可以立刻呼叫相关的API将网络断线并重新拨号,取得新的IP继续执行。