嗨,Stackoverflow社区,
我想创建一个使用多线程的脚本,以在大量URL(超过3万个虚拟主机)上为HTTP状态代码创建大量并行请求。
可以从托管网站的同一服务器上执行请求。
我正在使用多线程curl请求,但是我对获得的结果并不满意。要完整检查3万台主机,需要一个多小时。
我想知道是否有人提供任何提示或有更高效的方法来做到这一点?
答案 0 :(得分:1)
在测试了一些可用的解决方案之后,最简单,最快的方法是使用webchk
webchk是Python 3中开发的命令行工具,用于检查HTTP状态代码和URL的响应标头
速度令人印象深刻,输出清晰,它在大约2分钟内解析了30k个虚拟主机
答案 1 :(得分:0)
如果您正在寻找使用Python进行HTTP请求的并行性和多线程方法,则可以从aiohttp
库开始,或使用流行的requests
包。可以使用标准库中的multiprocessing
完成多线程处理。
以下是与aiohttp客户端进行限速的讨论:aiohttp: rate limiting parallel requests
这里是有关使用requests
https://stackoverflow.com/a/27547938/10553976
使其表现出色取决于您的实现。确保描述您的尝试并与您当前的实现进行比较。