Lowden

now

#

linux必学的60个命令---4(转)

     摘要: chown 1.作用 更改一个或多个文件或目录的属主和属组。使用权限是超级用户。 2.格式 chown [选项] 用户或组 文件 3.主要参数 --dereference:受影响的是符号链接所指示的对象,而非符号链接本身。 -h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。 --from=目前所...  阅读全文

posted @ 2009-08-03 22:07 Lowden 阅读(66) | 评论 (0)编辑 收藏

linux必学的60个命令---3(转)

     摘要: netstat 1.作用 检查整个Linux网络状态。 2.格式 netstat [-acCeFghilMnNoprstuvVwx][-A][--ip] 3.主要参数 -a--all:显示所有连线中的Socket。 -A:列出该网络类型连线中的IP相关地址和网络类型。 -c--continuous:持续列出网络状态。 -C--cache:显示路由器配置的快取信息。 -e--e...  阅读全文

posted @ 2009-08-03 22:06 Lowden 阅读(54) | 评论 (0)编辑 收藏

linux必学的60个命令---2(转)

     摘要: 1.作用 lp是打印文件的命令,使用权限是所有用户。 2.格式 lp [-c][-d][-m][-number][-title][-p] 3.主要参数 -c:先拷贝文件再打印。 -d:打印队列文件。 -m:打印结束后发送电子邮件到用户。 -number:打印份数。 -title:打印标题。 -p:设定打印的优先级别,最高为100。 4.应用实例 (1)使用lp命令打印多个文...  阅读全文

posted @ 2009-08-03 22:04 Lowden 阅读(62) | 评论 (0)编辑 收藏

linux必学的60个命令---1(转)

     摘要: Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统, 就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率...  阅读全文

posted @ 2009-08-03 22:04 Lowden 阅读(58) | 评论 (0)编辑 收藏

青岛火车站的一段话

昨天到青岛,经过42个小时的火车,累得也差不多了。

下火车的时候,因为把原手机号留在了家里,所以得用公用电话给家里报信,同时我听到了这样一段对话。

打电话的人:老板,多少钱?

女老板:四元

打电话的人:怎么?我只打了三个电话?

女老板:5角钱一分钟,你一共打了8分钟。

打电话的人:我前两个电话均没超一分钟吧?第三个电话也没有超两分钟吧?

女老板:你打了多少,我收多少。

打电话的人开始摸钱,然后嘴里冒了一句话:这也太黑了吧。

不巧,被女老板听见了,气愤地回了一句:再黑也没你黑。

这时个,打电话的人半天没回个神,还在摸钱,听到这话的时候就带着疑惑的眼神望老板。

这时女老板又冒了一句话:这南方人真是,说的话都不中听。

这个场面可充满了火药味,旁人看了都楞了。

打电话的人楞了一会儿,把钱给了,然后走出门口的时候又甩了一句话:北方人可不是你这样。


当时心里很不爽,只是把钱给了,然后就走了。因为我也是南方人,从成都到青岛的火车上南方人也不少吧。

走在青岛火车站前面的广场上,不自主的会想到美国的种族歧视,同时也想到了中华人民共和国的56个民族。



不管是什么民族,什么地方的人,当听到《歌喝祖国》的时候,我们都是同样地激动,同样地自豪……

我们是一家人;我们热爱我们的祖国;我们热爱我们的民族文化。

posted @ 2009-07-20 20:20 Lowden 阅读(122) | 评论 (1)编辑 收藏

给自己的一个约定

今天跟一学长谈了些关于导师、方向及个人发展的问题。

这些问题谈得不深,但促使了我往这方面思考。

得给一个自己的定位,把自己学习的潜力挖掘出来,好好量量。

给自己一年的时间,好好证明下自己。如果明年的今天还想继续及出去的话,就去勇敢地做。

这一年内,我应该做到:

勤学,勤思,勇于创新。

        关于学习,首先得把自己的学习任务做好,并努力去做到最好,并有所创新;其次是学习的范围包括专业(算法,数据结构,数学,语言,自己的方向等),其它(英语,文学,社会科学,各类图书)。
        关于思考,要勇于发现问题分析问题及解决问题。要养成勤思的习惯。

合理安排自己的时间

        学习与生活两不误,学习与锻炼两不误。学习的时候就认真学习,休息的时候就好好休息。

对于本约定,时刻牢记在心,不要松懈。

去做吧,放手地去做吧!!

posted @ 2009-07-20 15:09 Lowden 阅读(37) | 评论 (0)编辑 收藏

htmlparser,网页内容提取

 

import org.htmlparser.filters.*;
import org.htmlparser.*;
import org.htmlparser.nodes.*;
import org.htmlparser.tags.*;
import org.htmlparser.util.*;
import org.htmlparser.visitors.*;

public class AstroExtractor {
public static void main(String[] args)
{
String title=null;//标题
String constellation;//星座
String body=null;//主要内容
try{
Parser parser = new Parser("http://astro.sina.com.cn/pc/west/frame0_8.html");
parser.setEncoding("gb2312");

//修改后的,提取日期,已经正确
NodeFilter filter_constellation_summary=new AndFilter(new TagNameFilter("li"),
new HasAttributeFilter("class","datea"));

//修改后的,"健康指数"等等,有问题,不能正确提取
NodeFilter filter_title=new AndFilter(new TagNameFilter("div"),
new HasAttributeFilter("class","tab"));

//修改后的,已经正确
NodeFilter filter_body=new AndFilter(new TagNameFilter("div"),
new HasAttributeFilter("class","lotconts"));


NodeList nodelist=parser.parse(filter_constellation_summary);
Node node_constellation=nodelist.elementAt(0);
//提取星座信息

constellation=node_constellation.getFirstChild().toHtml();
/*
Node node_summary=nodelist.elementAt(1);
NodeList summary_nodelist=node_summary.getChildren();
//提取总结信息
summary=summary_nodelist.elementAt(3).toHtml();
*/
//重置parser
parser.reset();

nodelist=parser.parse(filter_title);
TextExtractingVisitor visitor1=new TextExtractingVisitor();
NodeIterator it=nodelist.elements();
while(it.hasMoreNodes())
{
Node node_title=(Node)it.nextNode();
//title+=node_title.getFirstChild().toHtml();
Parser title_parser=new Parser(node_title.toHtml());
title_parser.visitAllNodesWith(visitor1);
title=visitor1.getExtractedText();
//System.out.println("temp is"+temp);
//title=title+temp+"\n";
}

parser.reset();


//过滤内容信息
nodelist=parser.parse(filter_body);
Node node_body=nodelist.elementAt(0);
body=node_body.getFirstChild().toHtml()+node_body.getLastChild().toHtml();

System.out.println(constellation.trim());
System.out.println(title);
System.out.println(body.trim());
//System.out.println(summary.trim());

}catch(Exception e)
{
e.printStackTrace();
}

}

}

posted @ 2009-07-17 17:17 Lowden 阅读(593) | 评论 (0)编辑 收藏

用htmlparser分析并抽取正文

     摘要:   /** * 收集HTML页面信息 调用抓取函数 按照自己的摸版 生成网页 * @param url * @param urlEncode */ public void makeContext(ChannelLinkDO c) { String metakeywords = "<META content={0} name=keywords>";...  阅读全文

posted @ 2009-07-17 17:16 Lowden 阅读(397) | 评论 (0)编辑 收藏

HTMLParser

 

1、 简介
htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它提供了接口,支持线性和嵌套HTML文本。在实际的项目中只需要将htmlparser.jar 导入classpath中,就可以使用HTMLParser提供的API了。

2、 主要应用

HTML Parser项目主要可以用在以下两个方面:
1. 信息提取
· 文本信息抽取,例如对HTML进行有效信息搜索
· 链接提取,用于自动给页面的链接文本加上链接的标签
· 资源提取,例如对一些图片、声音的资源的处理
· 链接检查,用于检查HTML中的链接是否有效
· 页面内容的监控
2. 信息转换
· 链接重写,用于修改页面中的所有超链接
· 网页内容拷贝,用于将网页内容保存到本地
· 内容检验,可以用来过滤网页上一些令人不愉快的字词
· HTML信息清洗,把本来乱七八糟的HTML信息格式化
· 转成XML格式数据
3、 数据组织分析

HTML有3种类型的节点:RemarkNode:html中的注释,TagNode:标签节点,TextNode:文本节点。HTMLParser将读取的二进制数据流,进行编码转换、词法分析等操作,生成树形层次结构的Node节点集合。
HtmlParser主要靠Node和Tag来表达Html。

Node是形成树结构表示HTML的基础,所有的数据表示都是接口Node的实现,Node定义了与页面树结构所表达的页面Page对象,定义了获取父、子、兄弟节点的方法,定义了节点到对应html文本的方法,定义了该节点对应的起止位置,定义了过滤方法 ,定义了Visitor访问机制。AbstractNode是Node的一种具体的类实现,起到构成树形结构的作用,除了同具体Node相关的accetp方法,toString,toHtml,toPlainTextString方法以外,AbstractNode实现了大多基本的方 法,使得它的子类,不用理会具体的树操作。
Node分成三类:
§ RemarkNode:代表Html中的注释
§ TagNode:标签节点,是种类最多的节点类型,上述Tag的具体节点类都是TagNode的实现。
§ TextNode:文本节点
Tag是具体分析的主要内容。Tag分成composite的Tag和不能包含其他Tag的简单Tag两类,其中前者的基类是CompositeTag,其子类包含BodyTag,Div,FrameSetTag,OptionTag,等27个子类 ;而简单Tag有BaseHrefTag、DoctypeTag,FrameTag,ImageTag,InputTag,JspTag,MetaTag,ProcessingInstructionTag这八类。

4、Visitor方式访问Html:
(1)、整体解析过程
§ 用一个URL或页面String做一个Parser
§ 用这个Parser做一个Visitor
§ 使用Parser.visitAllNodeWith(Visitor)来遍历节点
§ 获取Visitor遍历后得到的数据
(2)、系统Visitor功能简介:
§ ObjectFindingVisitor:用来找出所有指定类型的节点,采用getTags()来获取结果。
§ StringBean:用来从一个指定的URL获取移除了<SCRIPT></SCRIPT>和<PRE></PRE>之间代码的Html代码,也可以用做Visitor,用来移除这两种标签内部的代码,采用StringBean.getStrings()来获取结果。
§ HtmlPage:提取Title,body中的节点和页面中的TableTag节点。
§ LinkFindingVisitor:找出节点中包含某个链接的总个数。
§ StringFindingVisitor:找出遍历的TextNode中含有指定字符串的个数。
§ TagFindingVisitor:找出指定Tag的所有节点,可以指定多种类型。
§ TextExtractingVisitor:从网页中把所有标签去掉来提取文本,这个提取文本的Visitor有时是很实用的 ,只是注意在提取文本时将标签的属性也去掉了,也就是说只剩下标签之间的文本,例如<a>中的链接也去掉了。
§ UrlModifyingVisitor:用来修改网页中的链接。
(3)、Filter
如果说visitor是遍历提取信息,当然这个信息可以包括某些节点或者从节点分析出来的更有效的信息,这都取决于我们的Visitor做成什么样子,那么Filter则目标很明确,就是用来提取节点的。
系统定义了17种具体的Filter,包括依据节点父子关系的Filter,连接Filter组合的Filter,依据网页内容匹配情况的filter,等等。我们也可以implement Filter来做自己的Filter来提取节点。
Filter的调用是同Visitor独立的,因为也无需先filter出一些NodeList,再用Visitor来访问。调用Filter的方法是:
NodeList nodeList = myParser.parse(someFilter);
解析之后,我们可以采用:
Node[] nodes = nodeList.toNodeArray();
来获取节点数组,也可以直接访问:
Node node = nodeList.elementAt(i)来获取Node。
另外,在Filter后得到NodeList以后,我们仍然可以使用NodeList的extractAllNodesThatMatch (someFilter)来进一步过滤,同时又可以用NodeList的isitAllNodesWith(someVisitor)来做进一步的访问。

这样,我们可以看到HtmlParser为我们提供了非常方便的Html解析方式,针对不同的应用可以采用visitor来遍历Html节点提取数据,也可以用Filter来过滤节点,提取出我们所关注的节点,再对节点进行处理。通过这样的组合,一定能够找出我们所需要的信息。

5、乱码问题
对于HTMLParser 工具包我们需要修改其中的htmlparser.java文件使其适用中文的html文件分析。htmlparser.java文件中具体实现细节就不再介绍。这里主要是把protected static final String DEFAULT_CHARSET = "ISO-8859-1";修改成protected static final String DEFAULT_CHARSET = "gb2312";因为采用默认的字符集"ISO-8859-1"对含有中文的html文件进行分析的时候就会出现乱码。必须进行new String(str.getBytes("ISO-8859-1"),"GB2312")的转换工作。对于修改好的htmlparser工具包,需要重新压缩成.jar文件,放到jdk的工作环境中。

6、自定义标签:
注意这个类PrototyicalNodeFactory,首先创建一个它的实例,然后注册你说自定义的Tag,再将这个工厂放置到你的parser中:
factory.registerTag(new IFrameTag());
parser.setNodeFactory(factory);
然后你再试试看,保证能够解析到你想要得那些标准htmlparser不支持的tag。

posted @ 2009-07-17 17:14 Lowden 阅读(710) | 评论 (0)编辑 收藏

HP大中华区总裁孙振耀撰文谈退休并畅谈人生 (转)

     摘要: HP大中华区总裁孙振耀撰文谈退休并畅谈人生 http://www.pguniversity.com.cn/?p=288 我有个有趣的观察,外企公司多的是25-35岁的白领, 40岁以上的员工很少,二三十岁的外企员工是意气风发的,但外企公司40岁附近的经理人是很尴尬的。我见过的 40岁附近的外企经理人大多在一直跳槽,最后大多跳到民企,比方说,唐骏。外企员工的成功很大程 度上是公司的成功,并非个...  阅读全文

posted @ 2009-06-24 18:34 Lowden 阅读(101) | 评论 (2)编辑 收藏

仅列出标题
共7页: 上一页 1 2 3 4 5 6 7 下一页 

My Links

Blog Stats

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

好友链接

搜索

最新评论

阅读排行榜

评论排行榜