多线程爬虫程序将耗尽TCP连接。我们需要设定
TcpTimedWaitDelay
快速重用和回收TCP连接。我们可以通过手动更改
regedit
或者输入密码。
(您需要以管理员身份运行代码,否则将引发错误。
)
import win32api,win32con
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE, r'SYSTEM\CurrentControlSet\Services\Tcpip\Parameters', 0, win32con.KEY_SET_VALUE)
win32api.RegSetValueEx(key, 'TcpTimedWaitDelay', 0, win32con.REG_SZ, '30')
win32api.RegCloseKey(key)
如何在Windows上手动执行:
-
RUN
,和类型
正则表达式
-
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
-
点击
Edit
-
New
-
Expandable String Value
-
创建
TcpTimedWaitDelay延迟
-
渴望多线程爬虫。)
感谢你们所有人对问题的贡献。这对很多人都有帮助。
Reference site