鱼C论坛

 找回密码
 立即注册
查看: 2614|回复: 8

为什么read()会出现TimeoutError的报错

[复制链接]
发表于 2020-3-6 11:25:25 | 显示全部楼层 |阅读模式
20鱼币
本帖最后由 flyps 于 2020-3-6 12:49 编辑
  1. import pandas as pd
  2. import numpy as np
  3. import time
  4. import platform,datetime
  5. import urllib.request
  6. import urllib.error
  7. import winsound
  8. import json

  9. url = 'http://www.fishC.com/xxoo'
  10. while True:
  11.     print('获取数据中...')
  12.     try:
  13.         req = urllib.request.Request(url)
  14.         req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36')
  15.         response = urllib.request.urlopen(req)
  16.         print('ok')
  17.     except Exception as e:
  18.         print(e.reason)
  19.         time.sleep(10)
  20.         continue
  21.     html = response.read().decode('utf-8')
  22.     data_number = json.loads(html)['data']['newest']['array']
  23.     data_number = list(map(int, data_number))
  24.     number_old = list(df.loc[0])[2:]
  25.     if data_number != number_old:
  26.         break
  27.     print('未更新,1000秒后重新获取')
  28.     time.sleep(1000)
  29.             
复制代码

Traceback (most recent call last):
  File "C:\Py\G_new04.py", line 36, in <module>
    html = response.read().decode('utf-8')
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 467, in read
    s = self._safe_read(self.length)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 608, in _safe_read
    data = self.fp.read(amt)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\socket.py", line 669, in readinto
    return self._sock.recv_into(b)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。



html = response.read().decode('utf-8')
这一行报错的,为什么read()会出现TimeoutError的报错,read方法需要连接主机吗?
谢谢

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 11:48:37 | 显示全部楼层
网页连接超时

把你的完整代码发上来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-6 12:30:41 | 显示全部楼层
zltzlt 发表于 2020-3-6 11:48
网页连接超时

把你的完整代码发上来

谢谢回复,知道是连接超时,但read()方法,不应该连接超的

  1. import pandas as pd
  2. import numpy as np
  3. import time
  4. import platform,datetime
  5. import urllib.request
  6. import urllib.error
  7. import winsound
  8. import json

  9. url = 'http://www.fishC.com/xxoo'
  10. while True:
  11.     print('获取数据中...')
  12.     try:
  13.         req = urllib.request.Request(url)
  14.         req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36')
  15.         response = urllib.request.urlopen(req)
  16.         print('ok')
  17.     except Exception as e:
  18.         print(e.reason)
  19.         time.sleep(10)
  20.         continue
  21.     html = response.read().decode('utf-8')
  22.     data_number = json.loads(html)['data']['newest']['array']
  23.     data_number = list(map(int, data_number))
  24.     number_old = list(df.loc[0])[2:]
  25.     if data_number != number_old:
  26.         break
  27.     print('未更新,1000秒后重新获取')
  28.     time.sleep(1000)
  29.             
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-12 12:32:48 | 显示全部楼层
网太慢了,到一个网好的地方试试
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-12 18:31:46 | 显示全部楼层
http://www.fishC.com/xxoo  这个网址存在吗   你用浏览器能打开吗
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 05:16:57 | 显示全部楼层
网页内容太多了,读不过来
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 17:00:44 | 显示全部楼层
flyps 发表于 2020-3-6 12:30
谢谢回复,知道是连接超时,但read()方法,不应该连接超的


根本没有这个 Web 地址:http://www.fishc.com/xxoo
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 18:25:11 | 显示全部楼层
http://www.fishC.com/xxoo 这个地址不存在
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-24 15:20:53 | 显示全部楼层
decode不会放在括号里吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 04:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表