1.出现如下报错:
- ERROR - parser - Exception caught when fetching page https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=47db0b5c65a30b5ee4233088e851b8c3&format=json&nojsoncallback=1&text=car&sort=relevance&per_page=100&min_upload_date=2017-11-20&max_upload_date=2018-04-21&extras=url_n%2Curl_z%2Coriginal_format%2Cpath_alias&page=1, error: HTTPSConnectionPool(host='api.flickr.com', port=443): Max retries exceeded with url: /services/rest/?method=flickr.photos.search&api_key=47db0b5c65a30b5ee4233088e851b8c3&format=json&nojsoncallback=1&text=car&sort=relevance&per_page=100&min_upload_date=2017-11-20&max_upload_date=2018-04-21&extras=url_n%2Curl_z%2Coriginal_format%2Cpath_alias&page=1 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fb00cfe10f0>: Failed to establish a new connection: [Errno 110] Connection timed out',)), remaining retry times: 1
2.解决方案:
在每个requests.get()后面加入了3个部分
3.但是还是报如下错误:
Failed to establish a new connection: [Errno 111] Connection refused'
4.不知道该怎么解决了,求指教(现在解决了)
目前找到的问题是因为服务器不能翻墙造成的,因为我访问的是雅虎的api接口来拿数据的。
检查服务器是否可以翻墙:ping www.google.com
如果可以出来网速之类的信息,表明它可以翻墙。否则不可以翻墙。测试能不能链接外网:ping www.baidu.com
判断方法和上面一样
5.后续在下载的时候,偶尔出现某个链接或者下载超时
三、若请求超时,则抛出一个 Timeout 异常。
这个可以参考链接:https://www.jianshu.com/p/17c921639ad0
(具体情况有:网络断开,但经常显示无法连接;网络阻塞;网络不稳定,网络无法完整传送服务器信息;系统原因,系统资源过低,不足以)
解决办法:
Timeout又分为connect timeout和read timeout。前者指的是你发出request请求到和服务器建立连接之间的等待时间;后者是同服务器建立连接后到服务器发回response之间的等待时间。那么在请求时可以加上相应的timeout时间,形式如下:
a).r = requests.get('https://XXXX.com', timeout=5)表示默认connect timeout和read timeout的值均为5秒;
b). r = requests.get('https://XXXX.com', timeout=(3.05, 27))表示connect timeout=3.05秒,read timeout=27秒;
c).r = requests.get('https://XXXX.com', timeout=None)则表示一直等待到服务器有响应为止