Python加速请求

2024-09-20 22:53:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个小python脚本,通过用户名查找网站、论坛等页面,您可以轻松理解它。我将使用request,但是在一个搜索和另一个搜索之间,它确实非常慢。你有什么建议吗?提前谢谢

import requests
from printy import printy, inputy

username = inputy("[?] Username: ", "b")



fivehundredpx = requests.get('https://www.500px.com/'+ username)

if fivehundredpx.status_code == 200:
    printy('500px Found: https://www.500px.com/'+ username, "n")
elif fivehundredpx.status_code == 404:
    printy('500px Not Found', "r")



sevencups = requests.get('https://www.7cups.com/@'+ username)

if sevencups.status_code == 200:
    printy('7Cups Found: https://www.7cups.com/@'+ username, "n")
elif sevencups.status_code == 404:
    printy('7Cups Not Found', "r")

Tags: httpsimportcomgetifstatususernamecode
1条回答
网友
1楼 · 发布于 2024-09-20 22:53:06

您不能真正控制服务器处理请求的速度,也不能控制网络延迟,但是您可以使用多线程和所需的并发级别来提高有效的RPS

下面是一个代码片段,它展示了如何实现多个请求的处理以提高总体处理速度。希望GIL在IO方面不是一个真正的问题,您可以真正获得一个数量级的性能改进

from concurrent.futures import ThreadPoolExecutor

def parse_skeleton(parse_fn, start=1, end=1_000_000, concurrency=10):

    with ThreadPoolExecutor(max_workers=concurrency, thread_name_prefix='parser') as executor:

        for id in range(start, end):
            executor.submit(parse_fn, id)

相关问题 更多 >

    热门问题