生成数据长时间请求的Python脚本
时间: 2024-09-15 12:07:21 浏览: 53
在Python中编写一个处理长时间数据请求的脚本通常涉及异步编程或者使用线程池、协程等技术来避免阻塞主线程。这里是一个基本的例子,我们将使用`requests`库异步版本的`asyncio`模块:
```python
import asyncio
import aiohttp
# 定义请求函数
async def fetch_data(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
# 主函数
def main():
urls = ['https://api.example.com/data1', 'https://api.example.com/data2', ...] # 需要请求的数据URLs
loop = asyncio.get_event_loop()
tasks = [fetch_data(url) for url in urls]
# 异步执行任务并收集结果
results = loop.run_until_complete(asyncio.gather(*tasks))
print('Data fetched:', results)
if __name__ == "__main__":
main()
```
在这个例子中,我们创建了一个任务列表,每个任务都是对一个URL进行GET请求。然后通过`run_until_complete`和`gather`函数并发地执行这些任务,这样主线程不会因为等待数据下载而阻塞。