问题 【爬虫|处理python3爬虫问题(urlopen error [Errno 111] Connection refused 或 urlopen error timed out)】爬虫时使用代理,经常会出现
或者
这类的错误,造成这类问题的原因是代理ip不可用或者质量差,解决方法如下:
方法 1、建立代理ip池
2、使用try… except… 处理异常,删除无效ip,示例代码:
def crawl_web_data(url, proxy_ip_list):if len(proxy_ip_list) == 0:
return ''
proxy_ip_dict = proxy_ip_list[0]try:
html = download_by_proxy(url, proxy_ip_dict)
print(url, 'ok')except Exception as e:
#print('e', e)
#删除无效的ip
index = proxy_ip_list.index(proxy_ip_dict)
proxy_ip_list.pop(index)
print('proxy_ip_list', len(proxy_ip_list))return crawl_web_data(url, proxy_ip_list)#再次尝试爬取return html
推荐阅读
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- python|尚硅谷python爬虫(二)-解析方法
- web挖洞|HACK学习黑帽子Python--漏洞检测脚本快速编写
- Pyecharts|Pyecharts 猎聘招聘数据可视化
- Python爬虫笔记|Python爬虫学习笔记_DAY_17_Python爬虫之使用cookie绕过登录的介绍【Python爬虫】
- Python爬虫笔记|Python爬虫学习笔记_DAY_19_Python爬虫之代理ip与代理池的使用介绍【Python爬虫】
- Python爬虫笔记|Python爬虫学习笔记_DAY_18_Python爬虫之handler处理器的使用【Python爬虫】
- python|用 Python 写一副春联&福字,把最好的祝福,送给重要的人
- 爬虫|淘宝商品数据爬取
- 爬虫学习历程小记