1 , <config charset="utf-8">
<var-def name="start">
<html-to-xml>
<http url="http://www.tianya.cn/bbs/index.shtml" charset="utf-8" />
</html-to-xml>
</var-def>
<var-def name="ulList">
<xpath expression="//div[@class='bankuai_list']">
<var name="start" />
</xpath>
</var-def>
<file action="write" path="tianya/siteboards.xml" charset="utf-8">
<![CDATA[ <site> ]]>
<loop item="item" index="i">
<list><var name="ulList"/></list>
<body>
<xquery>
<xq-param name="item">
<var name="item"/>
</xq-param>
<xq-expression><![CDATA[
declare variable $item as node() external;
<board boardname="{normalize-space(data($item//h3/text()))}" boardurl="">
{
for $row in $item//li return
<board boardname="{normalize-space(data($row//a/text()))}" boardurl="{normalize-space(data($row/a/@href))}" />
}
</board>
]]></xq-expression>
</xquery>
</body>
</loop>
<![CDATA[ </site> ]]>
</file>
</config>
这个设置装备摆设文件分为三个部门:
1. 界说爬虫进口:
<var-def name="start">
<html-to-xml>
<http url="http://www.tianya.cn/bbs/index.shtml" charset="utf-8" />
</html-to-xml>
</var-def>
2 ,<var-def name = "requestURL">
http://www.informatik.uni-trier.de/~ley/db/conf/IEEEscc/scc2009.html
</var-def>
<var-def name = "confXML">
http://dblp.uni-trier.de/rec/bibtex/conf/IEEEscc/2009.xml
</var-def>
<var-def name = "article_link">
<xquery>
<xq-param name="doc">
<html-to-xml>
<http url = "${requestURL}"/>
</html-to-xml>
</xq-param>
<xq-param name="confXML" type = "string">
<var name = "confXML"/>
</xq-param>
<xq-expression><![CDATA[
declare variable $doc as node() external;
declare variable $confXML as xs:string external;
<asdfasd>
{ for $x in $doc//a
where $x/@href = $confXML and matches($x/@href,"http:.*\.xml")
return
$x/@href
}
</asdfasd>
]]></xq-expression>
</xquery>
</var-def>
1. 前面定义的变量在Xquery中不能使用,必须在xq-param中再次定义变量去context中定义的值。
2. 在xq-expression中使用变量需要采用declare variable $name as xs:string external。
3. 声明(declare variable $name as xs:string external)需要在加xs:***否则报错。
4. 在返回值是 <asdfasd>
{ for $x in $doc//a
where $x/@href = $confXML and matches($x/@href,"http:.*\.xml")
return
$x/@href
}
</asdfasd>返回结果是计算了for语句后的内容<asdfasd href="http://dblp.uni-trier.de/rec/bibtex/conf/IEEEscc/2009.xml"/>
去了大括号返回<asdfasd>
for $x in $doc//a
where $x/@href = $confXML and matches($x/@href,"http:.*\.xml")
return
$x/@href
</asdfasd>一个字就是怪
分享到:
相关推荐
通过这个webharvest实例,你可以了解到如何利用这两种强大的技术来自动化地从网页中提取结构化信息。XPath和XQuery的应用不仅限于这个简单的div层链接抓取,它们在网页爬虫、数据挖掘、内容管理系统等领域都有广泛的...
### SQL数据库默认实例与命名实例的区别 在SQL Server中,实例是服务器上SQL Server服务的具体实现。当安装SQL Server时,可以选择安装默认实例或者命名实例。这两种实例类型各有其特点和适用场景,本文将深入探讨...
删除和重建 Oracle 实例 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级数据库应用中。然而,在某些情况下,我们需要删除和重建 Oracle 实例,以便解决一些问题或进行升级维护。在这篇文章中,我们将...
Proteus单片机仿真实例源码-32x16汉字.zip Proteus单片机仿真实例源码-44行列键盘.rar Proteus单片机仿真实例源码-44行列键盘.zip Proteus单片机仿真实例源码-485全双工通信.rar Proteus单片机仿真实例源码-485全...
实例1 如何使用错误提醒控件 实例2 如何使用信息提示控件 实例3 如何使用菜单控件 实例4 如何使用工具栏控件 实例5 如何使用状态栏控件 实例6 如何使用托盘控件 实例7 如何使用标签页控件 实例8 如何使用进度条控件 ...
### SQL Server 2008 R2 添加实例的详细步骤 #### 一、概述 SQL Server 2008 R2 是一款强大的关系型数据库管理系统,广泛应用于企业级数据管理和处理场景。对于需要在同一台服务器上运行多个独立的SQL Server环境...
本实例集合将深入探讨J2EE的核心概念和技术,帮助开发者更好地理解和应用J2EE。 首先,J2EE的核心组件包括Servlet、JavaServer Pages (JSP)、JavaBean、EJB(Enterprise JavaBeans)、JMS(Java Message Service)...
MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板MCGS高级教程实例模板...
java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象与类实例java对象...
下面我们将围绕"LabVIEW 55个经典实例"这一主题,探讨这些实例可能涵盖的知识点,以及它们如何帮助用户提升LabVIEW技能。 1. **基础编程概念**:这55个实例可能会包含基础的编程概念,如循环(For Loop, While Loop...
第2篇 数据库应用开发实例 第3章 家庭理财系统54 3.1 实例功能说明54 3.2 系统设计方案55 3.2.1 模块设计及开发环境55 3.2.2 系统结构图55 3.2.3 数据库设计56 3.3 相关技术点拨58 3.3.1 ado.net数据库访问技术58 ...
《C++编程实例100篇》是一本深入浅出的C++编程教程,它以实践为主导,通过丰富的实例帮助学习者掌握C++语言的基础和核心概念。这本书的每个实例都精心设计,旨在帮助初学者和有经验的开发者巩固和提升C++编程技能。 ...
githubsakuracat简介及应用实例及实例分析.txt简介及应用实例及实例分析.txtsakuracat简介及应用实例及实例分析.txt简介及应用实例及实例分析.txtsakuracat简介及应用实例及实例分析.txt简介及应用实例及实例分析....
51单片机Proteus仿真实例 闪烁LED51单片机Proteus仿真实例 闪烁LED51单片机Proteus仿真实例 闪烁LED51单片机Proteus仿真实例 闪烁LED51单片机Proteus仿真实例 闪烁LED51单片机Proteus仿真实例 闪烁LED51单片机...
本文将深入探讨这些"python 脚本实例 编程实例 入门实例",帮助你理解Python的基本概念和常用操作。 1. **变量与数据类型** Python中的数据类型包括整型(int)、浮点型(float)、字符串(str)和布尔型(bool)...
C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++...
《Zemax设计实例500.zip》是一款包含大量光学设计实例的资源包,对于学习和提升光学设计技能的初学者及专业人士来说极具价值。Zemax是业界广泛使用的光学设计软件,它提供了强大的优化和分析工具,使得复杂光学系统...
C语言 实例 精粹 经典 实例 C语言 实例 精粹 经典 实例 C语言 实例 精粹 经典 实例 C语言 实例 精粹 经典 实例 C语言 实例 精粹 经典 实例 C语言 实例 精粹 经典 实例 C语言 实例 精粹 经典 实例 C语言 实例 精粹 ...
在“vrml 代码实例 20多个吧”这个压缩包中,包含了一系列的VRML实例,旨在帮助学习者深入理解和掌握VRML的使用。 **VRML实例**提供了各种形状和功能的展示,如: 1. **基础几何形状**:如Box(立方体)、Sphere...