换个思维,挺好!

1、题记

在爬取数据时,会遇到分页爬取的问题。传统的方法是获取到页数xpath,然后逐页面进行解析。
但是受开发模型不易扩展的影响,没有实现。
后来,转换下思维,很快实现。
这里写图片描述

2、换个思维

程序搁浅了,昨晚发现,完全可以换个思维。
由于网页分页存在以下特点:
第一页:http://www.xxx.com/facuty/XCoLUn/menen_1.htm
第二页:http://www. xxx .com/facuty/XCoLUn/menen_2.htm
第三页: http://www. xxx .com/facuty/XCoLUn/menen_3.htm

就想到直接外层套个循环即可,当分页出现解析为空的时候,
说明当前页没有内容,停止循环即可。

//原有入口地址: entryUrl
//分页后处理地址:
for(int i = 1; i <= 20; i++){
String strTmp = "/ menen_" + i +".htm";
String curUrlPage = entryUrl.replace(".htm", strTmp);
System.out.println("curPage =" + curUrlPage);

.......

if (results == null || results.size() == 0) {
logger.error("网页抽取失败, entryURL=" + curUrlPage);
logger.error(title + "最大页数: " + (i-1));
break;
}
}

3、业务核心逻辑

1)配置入口地址;
2)配置需要解析的url xpath以及提取的标题、日期、人名等xpath地址;
3)获取content内容;
4)解析content获取标题、日期、人名等信息。

4、小结

一路走不通时,有时候需要死磕,但有时候转换思维后,或许能找到更快、更好的方法。

2017年6月3日 10:20 于家中床前

作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/72850572
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铭毅天下

和你一起,死磕Elastic!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值