【发布时间】:2014-01-03 16:44:27
【问题描述】:
我正在尝试使用 requests 模块和 python 内置的多处理库同时下载一堆 url。将两者一起使用时,我遇到了一些看起来不正确的错误。我用 100 个线程发出了 100 个请求,通常其中 50 个成功结束,而其他 50 个收到此消息:
TTPConnectionPool(host='www.reuters.com', port=80): Max retries exceeded with url:
/video/2013/10/07/breakingviews-batistas-costly-bluster?videoId=274054858&feedType=VideoRSS&feedName=Business&videoChannel=5&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+reuters%2FUSVideoBusiness+%28Video+%2F+US+%2F+Business%29 (Caused by <class 'socket.gaierror'>: [Errno 8] nodename nor servname provided, or not known)
最大重试次数和未提供的节点名行看起来都不正确。
这是我的请求设置:
import requests
req_kwargs = {
'headers' : {'User-Agent': 'np/0.0.1'},
'timeout' : 7,
'allow_redirects' : True
}
# I left out the multiprocessing code but that part isn't important
resp = requests.get(some_url, req_kwargs**)
有谁知道如何防止或至少进一步调试此问题?
谢谢。
【问题讨论】:
-
嘿!你有没有想过代理池的事情?显然,我在 bing.com 上达到了我的最大请求。任何帮助将不胜感激!
标签: python multithreading python-requests