我尝试使用带有本地mediawiki的mwclient创建一个页面。
有了wikipedia.org,一切都很好。
使用本地mediawiki输入以下命令:
import mwclient
site = mwclient.Site("192.168.1.143")
结果是出现以下错误:
File "/Library/Python/2.7/site-packages/mwclient/http.py", line 152, in request
raise errors.HTTPStatusError, (res.status, res)
mwclient.errors.HTTPStatusError: (404, <httplib.HTTPResponse instance at 0x104368488>)
如果我在浏览器中键入IP或主机名,它就会工作。与ping命令相同。
我将url lib用于:
a=urllib.urlopen('http://www.google.com/asdfsf')
a.getcode()
得到了
200 OK
代码。这里有什么问题?有什么想法吗?
最佳答案
问题在于,mwclient希望api.php(它用来访问wiki)位于wikimedia wiki使用的位置/w/
,而不是直接位于默认的/
。
根据the documentation for Site
,您需要使用path
参数:
site = mwclient.Site('192.168.1.143', path='/')