2010-05-10 132 views
0

假設我想抓住this wikipedia page中的第一段。如何使用XPath或DOM & PHP或類似的東西獲取標題和內容框之間的主體文本?如何從維基百科頁面刮取第一段?

是否有任何PHP庫?我不想使用API​​,因爲它有點複雜。

注意:我只是需要在顯示維基百科相關信息的頁面下添加一個窗口小部件。

+0

你可能想看看維基媒體API – 2010-05-10 02:03:41

回答

0

使用下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文檔運行(你還需要定義兩個實體&nbsp;&reg;本文檔),產生想要的結果。