我对python完全陌生,所以如果我做了明显错误的事情,希望有人能帮助我。我正在尝试创建并运行一个简单的pywikipedia机器人词汇表.refereata.com,一个语义mediawiki站点。我下载了pywikipedia发行版并创建了一个家庭文件:
import config, family, urllib # REQUIRED
class Family(family.Family): # REQUIRED
def __init__(self): # REQUIRED
family.Family.__init__(self) # REQUIRED
self.name = 'explicator' # REQUIRED; replace with actual name
self.langs = { # REQUIRED
'en': 'vocabularies.referata.com', # Include one line for each wiki in family
}
我创建了一个用户wikibot,并运行:
^{pr2}$按照以下指示:
http://meta.wikimedia.org/wiki/Using_the_python_wikipediabot
当我试着跑的时候:
python login.py
我得到以下错误:
C:\pywikipedia>python login.py
Password for user wikibot on explicator:en:
Logging in to explicator:en as wikibot
Traceback (most recent call last):
File "login.py", line 376, in <module>
main()
File "login.py", line 372, in main
loginMan.login()
File "login.py", line 261, in login
cookiedata = self.getCookie(api)
File "login.py", line 178, in getCookie
response, data = self.site.postData(address, self.site.urlEncode(predata))
File "C:\pywikipedia\wikipedia.py", line 4915, in postData
conn.endheaders()
File "C:\Python25\lib\httplib.py", line 860, in endheaders
self._send_output()
File "C:\Python25\lib\httplib.py", line 732, in _send_output
self.send(msg)
File "C:\Python25\lib\httplib.py", line 699, in send
self.connect()
File "C:\Python25\lib\httplib.py", line 683, in connect
raise socket.error, msg
socket.error: (10060, 'Operation timed out')
他们的东西是愚蠢的/明显的,我需要检查还是做错了?我在防火墙后面,这会是问题吗?(如果是的话,我需要采取什么措施来修复它)。在
谢谢你的帮助 斯图尔特
对不起,对我有用。我刚开了个账户,用了你的家庭档案。它似乎站在你这边。在
你能用-v-v选项来尝试同样的方法吗,这样我就可以帮助你调试这个问题了吗?请回复评论,以便我能得到你的更新。在
我不熟悉w/pywikipedia=p,但问题至少与连接有关,而不是python:一开始就无法建立套接字连接。在
address
登录名.pyL178,对吗?有错误或错误配置吗?在netstat -ant
、netstat -anptcp
或类似的方法来检查它是否在侦听某个端口,如80。在windows上,带有默认设置的防火墙可能会阻止通信,您可以查看是否有任何警告对话框等待确认,或者查看防火墙日志。另外,您需要具有管理员权限才能使用端口80。在相关问题 更多 >
编程相关推荐