Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 请求库:如何加速?_Python_Multithreading_Urllib2_Python Requests - Fatal编程技术网

Python 请求库:如何加速?

Python 请求库:如何加速?,python,multithreading,urllib2,python-requests,Python,Multithreading,Urllib2,Python Requests,我正在尝试向不同的网页发送多个请求。目前,我正在多线程中使用“requests”库,因为我发现它比urllib2性能最好。是否可以只加载网页的一部分?除了KeepAlive和多线程处理之外,你还有什么其他方法来加速我的请求吗 谢谢。正如您在评论中澄清的那样: 嗨,我正试图从意大利证券交易所网站上提取一些股票报价和财务比率。我加载的每个页面都与特定的公司相关 这意味着没有太多容易的优化留下来。如果网页本身非常大,并且您想要的数据位于页面的早期,那么您可以通过以下方式避免下载一些数据:即,在请求上设

我正在尝试向不同的网页发送多个请求。目前,我正在多线程中使用“requests”库,因为我发现它比urllib2性能最好。是否可以只加载网页的一部分?除了KeepAlive和多线程处理之外,你还有什么其他方法来加速我的请求吗


谢谢。

正如您在评论中澄清的那样:


嗨,我正试图从意大利证券交易所网站上提取一些股票报价和财务比率。我加载的每个页面都与特定的公司相关

这意味着没有太多容易的优化留下来。如果网页本身非常大,并且您想要的数据位于页面的早期,那么您可以通过以下方式避免下载一些数据:即,在请求上设置
stream=True
,然后使用
Response.iter\u content()
一次读取大量数据

如果幸运的话,您可能能够利用缓存来减少响应时间或大小。尝试在
会话
对象中插入类似的内容,看看这是否有什么改进


否则,您已经获得了几乎与单独使用软件一样大的改进。如果意大利证券交易所支持SPDY(他们可能不支持),使用SPDY库可以改善情况,但这排除了请求(也可能是多线程,原因与此答案完全无关)。另一个开箱即用的选项是在靠近提供数据的web服务器的机器上运行。

如果不知道您要做什么,就不可能回答这个问题。你想从这些页面中提取什么信息?嗨,我想从意大利证券交易所网站上提取一些股票报价和财务比率。我加载的每个页面都与特定的公司相关。@user3030211:您确定请求速度慢吗?它不仅仅是网络本身,您从中请求数据的服务器,或者您用来解析HTML的软件?另外,证券交易所网站是否有一个API,他们可能是专门为这些类型的东西制作的?在任何情况下,有一个很好的机会,即使有一个调整的请求,使其速度提高了20倍,你只会经历一个0.001x的整体速度增加。非常感谢,我已经大大加快了它与范围头,现在我正试图流式下载的网页,以优化我的代码进一步。