【问题标题】:Fetch data from Wikipedia using Special:Export使用 Special:Export 从 Wikipedia 获取数据
【发布时间】:2012-11-26 11:52:14
【问题描述】:

我正在尝试使用 Special:Export 从维基百科获取数据

以下是我的标记,我无法理解为什么它没有进入 while 循环?我没有得到任何错误。请帮忙。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim webRequest As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create("http://en.wikipedia.org/wiki/Special:Export/Train"), HttpWebRequest)
        webRequest.Credentials = System.Net.CredentialCache.DefaultCredentials
        webRequest.Accept = "text/xml"
        webRequest.UserAgent = "foo/bar"
        Dim webResponse As System.Net.HttpWebResponse = CType(webRequest.GetResponse, HttpWebResponse)
        Dim responseStream As System.IO.Stream = webResponse.GetResponseStream
        Dim reader As System.Xml.XmlTextReader = New XmlTextReader(responseStream)
        Dim NS As String = "http://www.mediawiki.org/xml/export-0.4/"
        Dim doc As XPathDocument = New XPathDocument(reader)
        reader.Close()
        webResponse.Close()
        Dim myXPathNavigator As XPathNavigator = doc.CreateNavigator
        Dim nodesText As XPathNodeIterator = myXPathNavigator.SelectDescendants("text", NS, False)

        While nodesText.MoveNext
            Response.Write((nodesText.Current.InnerXml + " "))
        End While
    End Sub

【问题讨论】:

  • 如果它没有进入循环,它会做什么?它会抛出异常吗?
  • 你能在你的系统里试试吗?

标签: asp.net xml vb.net mediawiki wikipedia-api


【解决方案1】:

Special:Export 应该是 POST'ed。请参阅Special:Export manual

但是,您真的不应该这样做。请使用web API client library for your language of choice 并访问export module

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多