Crossin的编程教室

标题: 求cossin先生帮忙看下Python74课报错 [打印本页]

作者: 肖明    时间: 2017-2-8 09:48
标题: 求cossin先生帮忙看下Python74课报错
就是豆瓣的那个例子
我执行这段程序的时候,报了这个错误。先跟你说下我是代理上网的
>>>
request movie: 0

Traceback (most recent call last):
  File "C:\Python27\testdeencode.py", line 9, in <module>
    d = urllib.urlopen(url).read()
  File "C:\Python27\lib\urllib.py", line 84, in urlopen
    return opener.open(url)
  File "C:\Python27\lib\urllib.py", line 205, in open
    return getattr(self, name)(url)
  File "C:\Python27\lib\urllib.py", line 435, in open_https
    h.endheaders(data)
  File "C:\Python27\lib\httplib.py", line 940, in endheaders
    self._send_output(message_body)
  File "C:\Python27\lib\httplib.py", line 803, in _send_output
    self.send(msg)
  File "C:\Python27\lib\httplib.py", line 755, in send
    self.connect()
  File "C:\Python27\lib\httplib.py", line 1152, in connect
    self.timeout, self.source_address)
  File "C:\Python27\lib\socket.py", line 567, in create_connection
    raise error, msg
IOError: [Errno socket error] [Errno 10060]

作者: 肖明    时间: 2017-2-8 09:49
我单独用浏览器访问这个api是有返回内容的
作者: 肖明    时间: 2017-2-8 14:02
#后来查找资料和AAA助教的协助我这样写了
import urllib2
url = 'https://api.douban.com/v2/movie/subject/1764796'
headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36'
        }
data=None
req=urllib2.Request(url,data,headers)#构造请求信息
res=urllib2.urlopen(req)#发送构造请求信息
html=res.read()
print html

#但是爆了这个错
Traceback (most recent call last):
  File "C:\Python27\test\testdeencode.py", line 36, in <module>
    res=urllib2.urlopen(req)#发送构造请求信息
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 391, in open
    response = self._open(req, data)
  File "C:\Python27\lib\urllib2.py", line 409, in _open
    '_open', req)
  File "C:\Python27\lib\urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 1181, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "C:\Python27\lib\urllib2.py", line 1148, in do_open
    raise URLError(err)
URLError: <urlopen error [Errno 10060] >

作者: crossin先生    时间: 2017-2-8 15:19
urlopen error [Errno 10060] 这种错误基本是因为你本地网络的原因,程序连不到目标网站。
应该是你的代理的原因。是不是代理需要用户名密码的。
建议你换个网络环境尝试一下,或者保证能够不用代理就能直连网站的时候再试。
作者: 肖明    时间: 2017-2-9 08:54
crossin先生 发表于 2017-2-8 15:19
urlopen error [Errno 10060] 这种错误基本是因为你本地网络的原因,程序连不到目标网站。
应该是你的代理 ...

是的,我回到我住的的地方。访问就没问题了
作者: 肖明    时间: 2017-2-9 08:58
crossin先生 发表于 2017-2-8 15:19
urlopen error [Errno 10060] 这种错误基本是因为你本地网络的原因,程序连不到目标网站。
应该是你的代理 ...

那个I/Oerror是什么情况啊,第一层楼的那个
作者: crossin先生    时间: 2017-2-9 14:19
肖明 发表于 2017-2-9 08:58
那个I/Oerror是什么情况啊,第一层楼的那个

一样的吧,还是 10060,只是你写法不一样了,它报错的位置不一样
作者: Estheriii    时间: 2017-2-26 17:25
crossin先生 发表于 2017-2-9 14:19
一样的吧,还是 10060,只是你写法不一样了,它报错的位置不一样

crossin先生,我
  1. request movie: 0
  2. ...
  3. request movie: 23
  4. request movie: 24
  5. request movie: 25
  6. request movie: 26
  7. request movie: 27
  8. request movie: 28
  9. request movie: 29
  10. press ENTER to exit...

  11. 14192514178222716372012130252969181015262821242311
  12. >>>                               5.81800007825.819999933245.821000099185.82200002675.822999954225.823999881745.825000047685.826999902735.828000068665.828999996195.829999923715.831000089655.831000089655.832000017175.832999944695.834000110635.834000110635.835000038155.835999965675.835999965675.836999893195.838000059135.838000059135.838999986655.839999914175.839999914175.841000080115.842000007635.842000007635.84400010109


复制代码
做多线程最后出来的结果不是按顺序排列,比较乱,这是正常情况吗?
作者: crossin先生    时间: 2017-2-26 21:06
Estheriii 发表于 2017-2-26 17:25
crossin先生,我做多线程最后出来的结果不是按顺序排列,比较乱,这是正常情况吗? ...

是正常的,多线程不会保证顺序的




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5