近期有个项目是要实现一个简单的垂直搜索引擎,在做爬虫这一块时,要分析页面上所有的URL。但有些URL采用的是相对链接地址形式。

如:http://blog.csdn.net/lizhihaoweiwei/article/details/17839481这个页面上有个链接叫做 34342,则这个链接的真实地址为:

http://blog.csdn.net/lizhihaoweiwei/article/details/34342。所以我要写一个函数来完成转换。考虑到如下情况:

同一层 ./

根目录层 /

可能是当前层也可能是独立的URL abc

上一层(上一层的上一层..)等

写出了苦干函数用来处理这些情况,要考虑处理的容错性,写的有点复杂。实现之后有点沾沾自喜的情绪。

最后不小心发现 URL类有几个构造方法,其中一个是 URL(URL,String),初看这个构造方法觉得有些奇怪,第一个参数URL是何意思?再猛的想到,这个可能是参考的URL,后一个可能是相对的链接地址。最终验证果然如此。浪费了几个小时在这个地方,真不划算。

总结:写代码要有跳出来的思想,一览众山小的感觉。有问题不要着急去解决,而是要想清楚怎样去解决。比如,这个是处理与URL相关的,应该先看URL有没有提供这个功能。

一个对JAVA不熟悉导致实现造轮子的悲惨故事相关推荐

  1. 还在重复造轮子?Java开发人员必知必会的20种常用类库和API

    介绍 一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车.<Effective Java>的作者Joshua Bloch曾经说过:"建议使用现有的API来开发,而不 ...

  2. 分享一个牛逼的 Java 开源后台管理系统,不要造轮子了!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:后端程序员必备:书写高质量SQL的30条建议个人原创+1博客:点击前往,查看更多 还是那句话,重复造轮子是个苦逼 ...

  3. 别再重复造轮子了,这几个开源 Java 工具库送给你

    文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 风筝我作为一个野路子开发者,直到遇见下面的这几个工具库,才知道之前重复造了不少轮子,而且轮子还不一 ...

  4. 别再重复造轮子了,几个值得应用到项目中的 Java 开源库送给你

    风筝我作为一个野路子开发者,直到遇见下面的这几个工具库,才知道之前重复造了不少轮子,而且轮子还不一定有人家的圆.相信跟我一样,没事儿造轮子的人还不在少数,有些人就是对造轮子感兴趣,这个咱也无话可说,但 ...

  5. java造轮子_RxJava 自己造轮子一

    RXJava 造轮子 什么是rxjava? rxjava 是一个响应式编程,为了更好更优雅的处理异步时间,内部实现原理是观察者模式 自己造轮子实现Rxjava 观察者模式核心有两个,一个观察者一个被观 ...

  6. 程序员到底要不要重复造轮子?

    分享一波:程序员赚外快-必看的巅峰干货 关于这个话题,现在这里阐述立场:就公司工作而言,不建议重复造轮子.就个人技术而言,强烈建议造轮子! 程序员圈子里流行这么一句话:"不要重复造轮子&qu ...

  7. 因为造轮子,我一个月就转正了 | 原力计划

    作者 | Baldwin_KeepMind 责编 | 伍杏玲 出品 | CSDN博客 2019年6月,我通过社招入职现在所工作的公司,理论上应该有三个月时间的试用期,只有试用期表现良好我才有机会转正, ...

  8. 因为造轮子,我一个月就转正了

    往期热门文章: 1,<往期精选优秀博文都在这里了!> 2.面试 Google, 我失败了! 3.去掉烦人的 " ! = null " (判空语句) 4.干掉可恶的 &q ...

  9. 重复造轮子,对此你的看法

    关于这个话题,现在这里阐述立场:就公司工作而言,不建议重复造轮子.就个人技术而言,强烈建议造轮子! 程序员圈子里流行这么一句话:"不要重复造轮子".它的原文是:"Stop ...

最新文章

  1. Facebook发布Detectron2,下一个万星目标检测新框架
  2. Sqli-labs less 50
  3. javascript系列之DOM(三)---事件
  4. echart php mysql简书_echart 踩坑之路
  5. CLI下的网页浏览器之二——Lynx
  6. linux 监控网络IO、磁盘、CPU、内存
  7. elastic安装,简单配置
  8. 自定义Excel导出简易组件
  9. Tensor看这一篇就够了!
  10. 2015年计算机维修记录表,2015年 主题教学记录表.doc
  11. VB.NET和C#的比较
  12. wchar_t 和 char
  13. Citrix XenApp6.5 另类发布文档
  14. 数据结构课程设计——校园导游
  15. linux更新war包操作步骤,关于Linux系统下基于Tomcat部署和升级war包的详细过程
  16. vue使用mavon-editor编辑器,外链保存到本地,且A标签外链和图片外链的处理
  17. windows无法格式化u盘_U 盘格式化提示 windows 无法完成格式化的解决办法
  18. Win10屏幕截图自动保存方法
  19. 笔记本电脑中预装的office产品不小心被删除了解决方案
  20. JDBC :java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 数据库登录正常

热门文章

  1. 将数字字符串转换成整数
  2. backtrader的学习之路:QuickStart
  3. ORACLE dump文件导出或导入
  4. Combo Box (组合框)控件
  5. H5 背景图片自适应屏幕问题解决办法
  6. 在线文档管理工具都有什么值得推荐的?
  7. Muse-UI Icon
  8. Codeforces 156B. Suspects
  9. Dubbo Invoker
  10. MT【74】不可能是哪个函数?