我完全新的Python,所以希望有人能幫助,如果我做的事情顯然是錯誤的。我試圖在vocabularies.referata.com上創建並運行一個簡單的pywikipedia bot,這是一個語義的mediawiki網站。我下載了pywikipedia發行,創造了家庭檔案:pywikipedia login.py socket.error:(10060,「操作超時」)
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,並運行:
python generate_user_files.py
按照說明上:
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')
是他們的一些愚蠢/顯然,我需要檢查或做錯了什麼?我在防火牆後面,這會成爲問題嗎? (如果是的話,我需要採取什麼措施來解決它)。
感謝您的幫助 斯圖爾特
http://meta.wikimedia.org/wiki/Using_the_python_wikipediabot#Bot_.26_Proxy – SilentGhost 2009-09-02 15:21:09
嗨,對不起 - 應該提到 - 試過上面的編輯。無法讓它工作。是否所有的變化都被問到並且登錄失敗(正如它可能會說的那樣),但是當我嘗試'python test.py'時,我得到了 C:\ pywikipedia> python test.py 您尚未登錄到explicator:en 。 – stu73 2009-09-02 16:03:46