我对python很陌生。。。在
import sys, os, time, py4chan, urllib from urllib2 import urlopen, URLError, HTTPError
def refreshthread(boardin,no):
global thread
global topic
board = py4chan.Board(boardin)
thread = board.getThread(int(no))
topic = thread.topic
time.sleep(2.5)
def dlfile(url, folder):
try:
f = urlopen(url)
with open(folder + "/" + os.path.basename(url), "wb") as local_file:
local_file.write(f.read())
print "Downloaded to " + str(folder + "/" + os.path.basename(url))
except HTTPError, e:
print "HTTP Error:", e.code, url
except URLError, e:
print "URL Error:", e.reason, url
def getsize(uri):
file = urllib.urlopen(uri)
size = file.headers.get("content-length")
file.close()
return str(int(size) / 1024)
def main():
boardtag = str(raw_input("Board: "))
threadno = int(raw_input("Thread id: "))
folder = str(raw_input("Save to folder: "))
print "Getting thread information..."
refreshthread(boardtag,threadno)
print "Subject: " + topic.Subject
while(True):
if not os.path.exists(folder): os.makedirs(folder)
refreshthread(boardtag,threadno)
for imgurl in thread.Files():
if imgurl is not None and not os.path.exists(folder + "/" + os.path.basename(imgurl)):
print "A wild image appears! " + "(" + getsize(imgurl) + "kb)"
dlfile(imgurl,folder)
else:
pass
if __name__ == '__main__':
main()
我在linux上编写了这个代码,它运行得很好,但是如果我在windows上运行,就会出现以下错误:
^{pr2}$这很奇怪,因为我还没有定义init。 这可能是来自另一个模块的init?在
如果我编写其他脚本,py4chan模块似乎可以正常工作。 两台机器的python版本也相同。在
编辑(完全错误):
Getting thread information...
Traceback (most recent call last):
File "4chan.py", line 59, in <module>
main()
File "4chan.py", line 46, in main
refreshthread(boardtag,threadno)
File "4chan.py", line 15, in refreshthread
board = py4chan.Board(boardin)
TypeError: __init__() takes exactly 4 arguments (2 given)
*编辑:*好吧,我有两个同名的不同模块。现在都在工作。 我不应该被允许进入这个网站。在
py4chan.Board
类需要用3个参数构造,而不是1个。refreshthread
函数中的以下行:应该看起来像这样:
^{pr2}$我刚刚从http://py4chan.sourceforge.net/抓取的py4chan模块对
Board.__init__
有这样的定义:这需要4个参数(包括隐式}参数(无论它们是什么)。在
self
),因此您缺少post_url
和{乍一看,您似乎在两个地方硬编码了
/
作为目录分隔符。在Windows中,目录分隔符是\
。在相关问题 更多 >
编程相关推荐