爬虫中遇到的问题

昨天在爬一个综合型网站里面的公司具体信息的时候遇到了一些问题,因为是刚毕业工作,所以也许遇到的小问题对于我来讲也很重要。

1.总是出现read time out情况:

这个问题出现的原因有很多,一个是网速太慢,跟对方服务器也有关,还有很多因素,我是设置con.timeout(5000),最后尝试了很多方法,找到一种解决方法

<span style="white-space:pre">	</span>int i=2;
		while(i<trs.size()){
			Map<String,String> map = new LinkedHashMap<String,String>();
			Elements tds = trs.get(i).select("td");
			String company = tds.get(1).text();
			map.put("公司",company);
			String area = tds.get(2).text().trim();
			map.put("地区",area);
			String hrefurl = tds.get(1).select("a").attr("abs:href");
			Map<String,String> detailMap = new LinkedHashMap<String, String>();
			try {
				detailMap = getInformation(hrefurl);
			} catch (Exception e) {
				continue;
			}
			map.putAll(detailMap);
			list.add(map);
			i++;
		}
就是用这种while()循环,当请求出现异常时continue跳过本次循环,但i的值并不会改变,因为没有执行i++,所以会直到出现请求结果为止,这样就把问题解决啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值