如何获得大量URL的返回码
如题,我下载从网上抓取了四万个URL,由于大量有些URL返回码为404,使得抓取网页的源代码的时间大量增加。现在我的做法是如果返回码为404,就将其URL加入到一个表中,下次再跑程序时,如果该URL在这个表中,就不必再抓其对应的源数据。现在在获取网页的返回码时,遇到了问题,抓到了几百个或者上千个URL时,程序继续运行,但是不输出其返回码了。
如下图:程序采用了多线程,用httpUrlconnection获得的返回码,程序就这样不动了,请各位大神看看,怎么改比较合适?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
就是获得返回码的时候,浪费了大量的时间,现在我直接放过这一设计了,不再获取返回码啦。问题已经解决啦。
获取utl 的状态返回码,与大量和多线程的关系不大。在每一次请求时,获取每一个请求的状态返回码即可,刚刚查了一下 API 在 httpUrlConnection 里,有个方法getResponseCode 可以获取返回码。
个人觉得,应该不需要存进数据库吧,如果每一次请求返回的状态码是 404 的就放弃即可。
建议使用 httpclient
返回状态里包含返回码,或者你可以做异常处理