请教如何确保网页因延迟响应而导致下载文件不完整的情况出现?

Jul 2, 2010 at 1:57 AM

首先非常感谢刘大哥的项目,让俺获益良多,小弟在此先强烈顶一把!^_^

最近小弟因工作需要也要做一些类似爬虫的网页抓取的工作,尝试了很多现有的方法来抓取网页,在下载网页这一层,试用过HttpRequest,WebClient和WebBrowse等等集成方法,

即使试用多线程,效率也非常低,看到大哥的自行操作的写法真是让俺好好学习了一番,也马上学着运用起来,不过也遇到过一个问题向大哥请教下,

下载的网页,如果响应时间比较慢的,或者网络不好的话,有时候网页打开了一部分就已经开始进行下载了,这样就会出现有时候抓取的网页不完整的情况发生,不知道有没有办法避免这种情况发生呢?

Jul 2, 2010 at 2:14 PM

暂时发现这个问题是由于设置超时所导致,去掉限制超时的代码可以暂时保证抓取页面完整,

不过同时由于HttpRequest两个线程的限制,抓取速度又变慢了,

暂时加入下面设置去掉两个线程的限制,不知道有没有更好的方法 ^_^

ServicePointManager.CheckCertificateRevocationList = true;
ServicePointManager.DefaultConnectionLimit = 100;

Coordinator
Jul 24, 2010 at 1:33 AM
linqingfeng wrote:

暂时发现这个问题是由于设置超时所导致,去掉限制超时的代码可以暂时保证抓取页面完整,

不过同时由于HttpRequest两个线程的限制,抓取速度又变慢了,

暂时加入下面设置去掉两个线程的限制,不知道有没有更好的方法 ^_^

ServicePointManager.CheckCertificateRevocationList = true;
ServicePointManager.DefaultConnectionLimit = 100;

 Qingfeng:你好!

谢谢你的评论,让俺也受益不少。愿不愿意加入到这个项目的开发中,把你的修改分享给其他人呢?

刘杨