下面的代码在wikipediaapi中查询“Physics”类别中的页面,并将响应转换为Python字典。在
import ast
import requests
url = "https://en.wikipedia.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Physics&cmlimit=500&cmcontinue="
response = requests.get(url)
text = response.text
dict = ast.literal_eval(sourceCode)
以下是Wikipedia API返回的结果之一:
^{pr2}$"Blasius\u2013Chaplygin formula"
对应的Wikipedia页面是https://en.wikipedia.org/wiki/Blasius–Chaplygin_formula。在
我想用“标题”从维基百科下载页面。我用下划线替换了所有空格。但它失败了。我在做:
import requests
url = "https://en.wikipedia.org/wiki/Blasius\u2013Chaplygin_formula"
response = requests.get(url)
这给了我:
requests.exceptions.HTTPError: 404 Client Error:
Not Found for url: https://en.wikipedia.org/wiki/Blasius%5Cu2013Chaplygin_formula
如何将标题Blasius\u2013Chaplygin formula
更改为requests
可以成功调用的URL?在
当我试图在这个关于堆栈溢出的问题中插入Wikipedia链接时,Stack Overflow自动将其转换为https://en.wikipedia.org/wiki/Blasius%E2%80%93Chaplygin_formula。在
当我这么做的时候:
import requests
url = "https://en.wikipedia.org/wiki/Blasius%E2%80%93Chaplygin_formula"
response = requests.get(url)
它是成功的,所以我想要一个库,它可以进行像这样的转换,我可以在Python中使用。在
为了让您的生活更轻松,您可以始终使用一些现有的wikipediaapi包装器,例如Wikipedia-API。在
{cd1>这是一个unicode字符。python会自动将其转换为en破折号,但不能在wikipedia链接中添加破折号,因此必须对其进行url编码,这正是stackoverflow之前为您做的工作。在
您可以自己使用以下方法:
How to urlencode a querystring in Python?
相关问题 更多 >
编程相关推荐