船舶爬虫出现过的问题

1、最初版本,使用多线程爬取,如果网断了就得重新爬。解决方法:另建多线程存储,并做好记录文件。
2、使用htmlparser爬取时,有的网页爬取过慢,无法设置超时连接。可使用java.net下的url,用流的方式获取网页信息,里面有设置超时的方法。可设置守护线程方式判断连接是否超时(未验证)。可使用future方式提交任务给excuteservice(未验证)
3、网页编码不同,无法爬取网页(待解决)
4、界面问题。不要把功能的实现放入界面中,在其下层可写一个控制类,专门实现和界面以及爬取的交互。
5、多线程之间的队列同步问题。可以自己写方法,在对队列进行入队和出队的时候加锁。可以用jdk提供的同步队列。
6、对入队和出队进行计数。使用jdk提供的同步队列无法实现此功能,可实现自己的同步队列,在里面设置全局变量进行计数。
7、配置文件问题。分为工程级配置文件和单个爬取网站的配置文件。可使用xml和properties两种方式。xml一般需要写一个对应的bean,也可以使用反射动态生成临时bean。使用properties可直接读取和修改配置文件的值。
8、实现最快爬取和存储至少需要多少个队列。列表队列,新闻队列,已处理列表队列,已处理新闻队列(就是已经放入线程中的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值