信息抽取
来源:互联网 发布:飞飞cms倒闭 编辑:程序博客网 时间:2024/04/27 23:03
public List<String[]> extractItems(String url, String encoding, String gp,
String itp) throws MalformedURLException,
UnsupportedEncodingException, IOException ...{
gp = sanifyPattern(gp);
itp = sanifyPattern(itp);
Pattern globalPattern = Pattern.compile(gp, Pattern.CASE_INSENSITIVE
| Pattern.DOTALL | Pattern.UNIX_LINES);
Pattern itemPattern = Pattern.compile(itp, Pattern.CASE_INSENSITIVE
| Pattern.DOTALL | Pattern.UNIX_LINES);
String html = source(url, encoding);
Matcher matcher = globalPattern.matcher(html);
List<String[]> items = new ArrayList<String[]>();
if (matcher != null && matcher.find()) ...{
String global = matcher.group(1);
Matcher itm = itemPattern.matcher(global);
while (itm != null && itm.find()) ...{
List<String> groups = new ArrayList<String>();
for (int i = 1; i <= itm.groupCount(); i++) ...{
groups.add(itm.group(i));
}
items.add(groups.toArray(new String[groups.size()]));
}
}
return items;
}
为了使得方便的抽取网页中的某些信息,采用JAVA里面的正则表达式写了一个可以抽取其中网页一些信息,并通过dom4j写为XML的程序。实现了对新闻,MP3等比较固定的网页模版的信息抽取工作。
一个全局的pattern选出有用信息块,然后通过itermpattern,重复的抽取网页中的信息单位。并将这些提取出来的items写成一个XML文件。 写dom4j的程序:
public String asXml(String fmt) ...{
Document doc = DocumentHelper.createDocument();
// <list>
Element root = doc.addElement("list");
List<Song> songs = getSongs();
for (Song song : songs) ...{
Element element = DocumentHelper.createElement("song");
element.addElement("title").setText(song.getTitle());
element.addElement("album").setText(song.getAlbum());
element.addElement("singer").setText(song.getSinger());
element.addElement("link").setText(song.getLink());
element.addElement("source").setText(song.getSource());
element.addElement("format").setText(song.getFormat());
element.addElement("megabyte").setText(
String.valueOf(song.getMegabyte()));
element.addElement("speed")
.setText(String.valueOf(song.getSpeed()));
root.add(element);
}
root.addAttribute("total", String.valueOf(songs.size()));
return doc.asXML();
}
- 信息抽取
- 信息抽取
- 信息抽取
- 信息抽取
- 信息抽取
- 抽取网页信息
- 信息抽取研究综述
- Java抽取网页信息
- 网页信息抽取阶段性成果
- 信息抽取技术纵览
- python 抽取信息
- 特征抽取-信息增益
- Web中文信息抽取(1)
- Web中文信息抽取(2)
- 网上信息抽取技术纵览
- 网上信息抽取技术纵览
- 信息抽取相关词语定义
- 信息自动抽取一个实现
- 抽取网页信息
- 数据统计颗粒度
- 股票跳水 BLOG也抽风
- ASP.NET 2.0 URL映射技巧http://onewww.net/blog/article.asp?id=83
- Spring使用hibernateTemplate不能save对象的问题.
- 信息抽取
- MsAjax Lib-> Number 类型扩展
- C++文件操作
- Ubuntu - Edgy Eft 下安装Acrobat Reader
- C 程序的外部变量与函数
- Using Perl Code from PHP:: php_perl extention, php_perl.dll
- Framebuffer HOWTO
- C++的static关键字
- 关于frambuffer