我这里有这个代码
site = urllib.request.urlopen('http://omegle.com/start')
id = fmtId( site.read() )
print(id)
req = urllib.request.urlretrieve('http://omegle.com/events', urllib.parse.urlencode( {'id':id}))
print('finding')
这个
site = urllib.request.urlopen(req)
rec = site.read()
我收到此错误
File "C:\Users\...\script.py", line 74, in <module>
omegleConnect()
File "C:\Users\...\script.py", line 70, in omegleConnect
listenServer(id,req)
File "C:\Users\...\script.py", line 32, in listenServer
site = urllib.request.urlopen(req)
File "C:\Python33\lib\urllib\request.py", line 156, in urlopen
return opener.open(url, data, timeout)
File "C:\Python33\lib\urllib\request.py", line 460, in open
req.timeout = timeout
AttributeError: 'tuple' object has no attribute 'timeout'
我没有使用过python的所有经验,所以如果你愿意,请向我解释一下。 我现在还不知道我的代码中出了什么问题。如果您需要我的代码中的任何其他内容或更多详细信息,请询问。
答案 0 :(得分:2)
你做的第二个电话,你要给它一个元组,这是一个像这样的不可改变的列表
(1, 2, 3)
它没有属性,代码正在尝试访问&#34;超时&#34;那个元组的财产。你可能意味着发送urlopen一个在req对象里面的url,而不是完整的元组。如果您刚开始使用Python(即使不是),您可能需要查看请求库 http://docs.python-requests.org/en/latest/,它非常易于使用且记录良好。
答案 1 :(得分:0)
import urllib
site = urllib.urlopen('http://omegle.com/start')
id_ = site.read()
print(id_)
你能试试这个代码吗?当我尝试运行此代码时,它们正在运行。我想urllib没有像请求这样的属性。