heritrix 下载不通过服务器缓存

最近爬虫下载论坛时出现了一些奇怪的问题。

1.下载一半就无法下载

2.下载了很多空页面,提示说页面不存在

问题一:原因分析,由于网站对一个IP在一个时间片内访问太频繁,导致封IP。

解决方案:减缓爬虫下载间隔,多个网站一起下载,而且网站越多越好,可以错开下载。

问题二:初步分析,下载的页面是html的,怎么可能有这个问题?因为下载的论坛是开源的discuz,我们都知道discuz有一个缓存机制,管理员可以删除帖子,可是被删除的帖子还存在服务器缓存中,由此可以证明那些html都是伪静态的页面,而且爬虫下载是通过服务器缓存的。通过日志可以发现:类似于百度,google这类的大网站,他们的爬虫都是不通过服务器缓存的。

爬虫也是通过URLConnection啊那什么HTTPURLConnection还是httpclient都继承这个建立连接服务器返回给你什么就是什么,做了缓存服务器就返回给你缓存

爬虫通过URL建立Socket,和服务器通信,获取资源即可。所以抓不抓后台,在于服务器给它什么资源.爬虫是不知道什么后台不后台的。都是服务器给它资源,也就是InputStream

相关推荐