同一网络下Python Webscrape脚本运行失败:远程主机强制关闭连接求助
解决爬虫脚本报错"An existing connection was forcibly closed by the remote host"的方案
排查本地安全软件拦截:同一网络下不同机器的防火墙、杀毒软件规则可能不同,这类软件常主动拦截爬虫的网络请求。试试临时关闭防火墙,或者把Python程序加入安全软件的白名单后再运行脚本。
补全请求头信息:目标网站可能对请求头的完整性要求高,别人的脚本里可能包含了有效的
Cookie、适配的User-Agent或Referer,而你的脚本缺少这些。直接复制他人能正常运行的请求头(注意不要泄露个人敏感的Cookie信息),替换到自己的脚本里测试。重置本地网络栈:本地TCP/IP配置异常也可能导致连接被强制关闭。
- Windows系统:执行命令
netsh winsock reset和netsh int ip reset,完成后重启电脑。 - Linux/macOS系统:可以尝试重启网卡,比如执行
sudo ifconfig en0 down && sudo ifconfig en0 up(根据你的实际网卡名称调整),或者重启网络服务。
- Windows系统:执行命令
调整请求库参数或更换请求库:
如果用的是requests库,试试优化连接参数:import requests # 建立会话复用连接 session = requests.Session() # 模拟浏览器UA session.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36' try: response = session.get('目标URL', timeout=30) # 后续处理逻辑 except Exception as e: print(e)也可以尝试改用
httpx等其他请求库,或者临时关闭SSL验证(仅测试用,生产环境不建议):verify=False检查端口占用与代理有效性:本地端口被其他程序占用,或者之前用的代理IP已失效,都可能引发这个问题。试试更换代理池里的其他IP,或者用工具排查本地端口占用情况,释放被占用的端口后再运行脚本。
内容的提问来源于stack exchange,提问作者Surfer24
相关产品推荐
相关产品推荐

