成长笔记之博客统计第一篇

  实习快两星期了,上的第一堂课就是学会观察,观察应该不仅仅局限于外面的事物,还应该有身边同学的起起伏伏。总结下这周收获更多的是态度:

  1.态度上需要的是为什么而不是得到什么,如果你是为了完成什么和做什么,你会觉得遇到的所有困难是拦路虎,于是热情退却,而如果你觉得你遇到的所有困难都是走向成功的阶梯,恭喜你,你正在进步。

  2.团队的力量往往比个人强大,一个人也能完成目标,但你始终走在自己的思维里,而一名不断进步的程序员需要不断的吸收他人的思维,接受新知识。

  3.总结归纳更重要,这两天翻写了以前写过了代码,会发现自己以前的代码不堪入目,自己都觉得难以借鉴,所以复杂的事情简单做,简单的事情重复做,重复的事情认真做。

  闲话就扯到这里,讲讲今天的重点,实习小实践:博客园博客统计。需求:不限语言,不限平台,根据姓名,博客地址,统计如下信息

  

  谈谈思路:

  第一步:第一反应当然是根据http://www.cnblogs.com/Sir-Lin/去寻找网页中的文本,这时你会发现很多网页上显示的内容,在源代码里并不能找到,这是因为这些调皮的元素来自于JavaScipt返回的数据,但别以为这样就能逃出我们的火眼金睛,借助工具HttpAnalyzerStdV7就能轻松找到这些JS请求的网址.例如我们要去寻找每篇文章的推荐数反对数。打开网页http://www.cnblogs.com/Sir-Lin/p/FirstStep.html,并运行HttpAnalyzerStdV7.

这里就获取到了所以该网页的数据包括JavaScript请求的数据

然后得到js访问的url也就是我们需要的url

再根据Jsoup来获取网页的源代码和我们需要的数据。简单介绍几个常用的方法

 1 //从一个URL加载一个Document
 2 Document doc = Jsoup.connect("http://example.com/").get();
 3 //这个时候就类似javascript获取element
 4 Element content = doc.getElementById("content");
 5 
 6 Elements links = content.getElementsByTag("a");
 7 
 8 for (Element link : links) {
 9   String linkHref = link.attr("href");
10   String linkText = link.text();
11 }
12
13 Elements links = doc.select("a[href]"); //带有href属性的a元素
14 
15 Element masthead = doc.select("div.masthead").first();
16   //class等于masthead的div标签
17 
18 Elements resultLinks = doc.select("h3.r > a"); //在h3元素之后的a元素

 

具体关于Jsoup的介绍和学习可以参考下面的内容http://www.open-open.com/jsoup/。

  

posted @ 2015-07-23 20:30  戴杭林  阅读(248)  评论(1编辑  收藏  举报