【发布时间】:2017-04-17 14:29:19
【问题描述】:
Python 3.6
我正在编写一个脚本来自动检查以确保网站上的所有链接都能正常工作。
我有它的一个版本,但它运行缓慢,因为 python 解释器一次只运行一个请求。
我导入了 selenium 以将链接拉到列表中。我从 41000 个链接的列表开始。我摆脱了重复项,现在我的列表中只有 7300 个链接。我正在使用请求模块来检查响应代码。我知道多处理是答案,只是看到一堆不同的方法。哪个最适合我的需求?
我唯一需要记住的是,我不能同时运行多个线程,所以我不会在我们的服务器上发送我们的网络服务器线程请求。
这是检查与我正在尝试加速的 python 请求模块的链接的函数:
def check_links(y):
for ii in y:
try:
r = requests.get(ii.get_attribute('href'))
rc = r.status_code
print(ii.get_attribute('href'), ' ', rc)
except Exception as e:
logf.write(str(e))
finally:
pass
【问题讨论】:
标签: multithreading python-multiprocessing