0
假设我想抓住this wikipedia page中的第一段。如何使用XPath或DOM & PHP或类似的东西获取标题和内容框之间的主体文本?如何从维基百科页面刮取第一段?
是否有任何PHP库?我不想使用API,因为它有点复杂。
注意:我只是需要在显示维基百科相关信息的页面下添加一个窗口小部件。
假设我想抓住this wikipedia page中的第一段。如何使用XPath或DOM & PHP或类似的东西获取标题和内容框之间的主体文本?如何从维基百科页面刮取第一段?
是否有任何PHP库?我不想使用API,因为它有点复杂。
注意:我只是需要在显示维基百科相关信息的页面下添加一个窗口小部件。
使用下XPath表达式:
/*/h:body//h:h1
|
/*/h:body//h:h1/following::node()
[count(. | //h:table[@id='toc']
/preceding::node()
)
=
count(//h:table[@id='toc']
/preceding::node()
)
]
这里前缀h:
绑定到XHTML命名空间()。
这种转变表明通缉的结果真的产生:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:h="http://www.w3.org/1999/xhtml"
>
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<xsl:copy-of select=
"/*/h:body//h:h1
|
/*/h:body//h:h1/following::node()
[count(. | //h:table[@id='toc']
/preceding::node()
)
=
count(//h:table[@id='toc']
/preceding::node()
)
]
"/>
</xsl:template>
</xsl:stylesheet>
当在维基百科文章的XHTML文档运行(你还需要定义两个实体
和®
本文档),产生想要的结果。
你可能想看看维基媒体API – 2010-05-10 02:03:41