本来想找RSS 1.0/2.0、ATOM 1.0的schema的,结果找到一个很好的种子feed解析器,而且是通用的,就是Python写的feedparser:
Python能用的模块还真的不少,使用挺方便的,通过version属性,可以很容易的知道种子的类型,到底是ATOM还是RSS,更重要的是直接就能解析RSS和ATOM文档,赞!
本来想找RSS 1.0/2.0、ATOM 1.0的schema的,结果找到一个很好的种子feed解析器,而且是通用的,就是Python写的feedparser:
Python能用的模块还真的不少,使用挺方便的,通过version属性,可以很容易的知道种子的类型,到底是ATOM还是RSS,更重要的是直接就能解析RSS和ATOM文档,赞!
在写的一个程序,用Python搜集数据,用XML做为重要的中间数据存储方式,出了很多问题。尤其是用VS 2005打开一个2M多的XML文件后,破破的本本就焊住了近一个小时…..最后,发现好多问题,都源于XML中需要转义的字符!晕~~
?
?
XML CDATA
在XML文档中的所有文本都会被解析器解析。
只有在CDATA部件之内的文本会被解析器忽略。
XML 解析器通常情况下会处理XML文档中的所有文本。
当XML元素被解析的时候,XML元素内部的文本也会被解析:
<message>This text is also parsed</message> |
XML解析器这样做的原因是XML元素内部可能还包含了别的元素,象下面的例子,name元素内部包含了first和last两个元素:
<name><first>Bill</first><last>Gates</last></name> |
解析器会认为上面的代码是这样的:
<name> <first>Bill</first> <last>Gates</last> </name> |
不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似”<” 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:
<message>if salary < 1000 then</message> |
为了避免出现这种情况,必须将字符”<” 转换成实体,象下面这样:
<message>if salary < 1000 then</message> |
下面是五个在XML文档中预定义好的实体:
| < | < | 小于号 |
| > | > | 大于号 |
| & | & | 和 |
| ' | ‘ | 单引号 |
| " | “ | 双引号 |
实体必须以符号”&”开头,以符号”;”结尾。
注意: 只有”<” 字符和”&”字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
在CDATA内部的所有内容都会被解析器忽略。
如果文本包含了很多的”<”字符和”&”字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。
一个 CDATA 部件以”<![CDATA[" 标记开始,以"]]>“标记结束:
<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1
}
else
{
return 0
}
}
]]>
</script>
|
在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。
CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符”]]>” 或者”<![CDATA[" ,将很有可能出错哦。
同样要注意在字符串"]]>“之间没有空格或者换行符。
需要编写从网页中抽取信息的程序,看了两天资料。整理一些有用的链接:
XPath Tutorial:
http://www.zvon.org/xxl/XPathTutorial/General/examples.html
HTML Tidy Library Project
http://tidy.sourceforge.net/
XPointer Tutorial
http://www.zvon.org/xxl/XPointerTutorial/Output/index.html
[收集Web数据抽取的相关文档]
| 从半结构化文本与自由格式文本中学习信息抽取规则 |
| Learning Infomation Extraction Rules For Semi-Structured and Free Text? |
|
作者Stephen |
| ? |
| 从WWW中抽取模式与关系 |
| Extracting Patterns and Relations from the World Wide Web? |
| 这是Sergey Brin的另外一篇力作。该论文提出一种叫DIPRE的方法,利用机器学习理论从大量文本中自动提取模式与关系。文中利用这种方法从互联网上分散的文本中提取图书信息,即作者,标题二元组。结果仅用了5本书的样本集,就自动扩展到了15,000本书,而且有些书是最大的网上书店亚马逊也没有的。 |
|
?
|
| 利用标准的XML技术进行有效的Web数据抽取 |
| Effective Web Data Extraction with Standard XML Technologies? |
| 作者是IBM Almaden研究中心的Jussi Myllymaki博士。文中描述了一种叫ANDES的,首先把HTML文档转化为XHTML文档,然后再利用XML与XSLT进行数据抽取的软件框架。 |
| ? |
| 演示:一种健壮的具有高召回率与高精度的Web数据抽取技术 |
| Demonstration: A Robust Web Data-Extraction Technique With High Recall and Precision? |
| 文中图文并茂地演示了如何自动化地从半结构化的HTML页面中抽取指定数据到数据库中。 |
| ? |
| 利用XML技术高效地进行Web数据抽取 |
| Effective Web Data Extraction with Standard XML Technologies? |
作者Jussi Myllymaki 为IBM研究员,在文中提出了一种先将HTML转变为XHTML,然后利用XSLT抽出XHTML中的数据,最后再利用XSLT精化结果,形成最后的XML输出数据。 |
|
?
|
| Web数据抽取工具综述 |
| A Brief Survey of Web Data Extraction Tools? |
作者将目前的几种Web数据抽取工具按照六种分类:Wrapper开发语言,可感知HTML的工具,基于NLP的工具,Wrapper归纳工具,基于建模的工具,基于语义的工具依次介绍了各Web数据抽取工具的工作原理与特点,并且比较了它们的一般输出质量。 |
| ? |
| 信息抽取概述 |
| 网上信息抽取技术纵览–信息抽取概述 陈鸿标 译 |
|
信息抽取原来的目标是从自然语言文档中找到特定的信息,是自然语言处理领域特别有用的一个子领域。所开发的信息抽取系统既能处理含有表格信息的结构化文本,又能处理自由式文本(如新闻报道)。IE系统中的关键组成部分是一系列的抽取规则或模式,其作用是确定需要抽取的信息[52]。网上文本信息的大量增加导致这方面的研究得到高度重视。 本章首先介绍信息抽取领域的发展。第2.1.节比较了信息抽取和信息检索的区别;第2.2.节介绍IE的历史。接下来两节解释评价IE系统的指标和常用的两派技术方法。信息抽取技术所处理的文本类型将在第2.5.节中说明。第2.6.节描述信息抽取技术可利用的网页特征。 |
|
?
|
| ?基于可视线索的HTML页面分析 |
| HTML Page Analysis Based on Visual Cues? |
| 作者为微软亚洲研究院的张玉东与张亚勤,文中提出根据网页内容中的并行结构的子标题或者记录具有相似的结构这一特点,可以应用一种模式检测算法来检测出目标对象,从而进行HTML文档的语义结构抽取。 |
| ? |
| 利用Lixto进行可视化的信息抽取 |
| Visual Web Information Extraction with Lixto? |
| 作者分析了Lixto抽取系统的架构,介绍了一种半自动化的Wrapper生成技术与自动化Web信息抽取技术。 |
| ? |
| 信息抽取研究综述 |
| Research On Information Extraction: A Survey? 文本信息抽取? |
| 本文出自北京大学计算机科学与技术系,综述了信息抽取的一些基本概念。 |
I need to publish blog entries using an automated program. The first idea is to do it by email. However, it turned out that DasBlog doesn’t support unicode well. For exmaple, Chinese articles posted via email are in wrong encoding.
After trying virous encoding method, I came to think that it will be more convenient to do it via the Metaweblog API. Trying to patch dasblog is not pratical to me, due to time limitation. Then I installed Windows Live Writer, and proved that dasblog supports Metaweblog API.
The next thing to do is find a XML-RPC library. After surfing around the Internet, XML-RPC.NET comes into my sight. Actually I also found that it’s already used in dasblog. It has been developed ever since 2001, and is still active. Many thanks to the lead programmer, Charles Cook.?If you are also interested in employing XML-RPC in C#, you can find it here: http://www.xml-rpc.net/
?
Some useful articles that are relevant:
最新评论