【问题标题】:Wikipedia API: getting articles with unicoded titlesWikipedia API:获取带有 unicode 标题的文章
【发布时间】:2013-12-04 10:01:55
【问题描述】:

我正在尝试使用调用 api 返回的标题来检索 Wikipedia 页面。 我正在从 python 的 urllib2 库中调用 Wikipedia API。

当我想自动化该过程时,我一直在处理 unicode 标题。 这是一个问题的例子:

假设我们要检索关于 Escola Superior de Ciências Empresariais 的页面,该页面具有以下链接: http://en.wikipedia.org/wiki/Escola_Superior_de_Ci%C3%AAncias_Empresariais_(Set%C3%BAbal)

调用我确实得到了我想要的: http://en.wikipedia.org/w/api.php?action=query&prop=revisions&format=xml&titles=Escola_Superior_de_Ci%C3%AAncias_Empresariais_(Set%C3%BAbal)&rvprop=timestamp|user|comment|content

所以回到问题的开头,如果我也使用维基百科的api来搜索学校,比如: http://en.wikipedia.org/w/api.php?action=query&list=search&srprop=''&format=xml&srsearch=Escola_Superior_de_Empresariais

我得到以下 xml 字符串:

<api>
  <warnings>
    <search xml:space="preserve">Unrecognized value for parameter \'srprop\': \'\'</search>
  </warnings>
  <query>
    <searchinfo totalhits="7"/>
    <search>
      <p ns="0" title="Escola Superior de Ci\xc3\xaancias Empresariais (Set\xc3\xbabal)"/>
      <p ns="0" title="List of universities in Cape Verde"/>
      <p ns="0" title="Polytechnic Institute of Viana do Castelo"/>
      <p ns="0" title="S\xc3\xa3o Vicente, Cape Verde"/>
      <p ns="0" title="Economy of Portugal"/>
      <p ns="0" title="Higher education in Portugal"/>
      <p ns="0" title="Grupo Opaia SA"/>
    </search>
  </query>
</api>

我现在的问题是我们如何转换检索到的字符串

Escola Superior de Ci\xc3\xaancias Empresariais (Set\xc3\xbabal)

转换为可以直接从 Wikipedia API 调用的表单? 也就是说,我怎样才能创建这样的链接:

http://en.wikipedia.org/wiki/Escola_Superior_de_Ci%C3%AAncias_Empresariais_(Set%C3%BAbal)

从检索到的结果中?

【问题讨论】:

标签: python xml unicode wikipedia wikipedia-api


【解决方案1】:

使用 urllib2.quote,它会为您执行此操作。

基本上:

utf8_url = 'Escola Superior de Ci\xc3\xaancias Empresariais (Set\xc3\xbabal)'
percent_url = urllib2.quote(utf8_url)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-11
    • 2023-03-04
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多