python多线程爬虫和异步爬虫_Python3:一个单机版多线程/异步+多代理的爬虫方案...

在采集数据的时候,经常会碰到有反采集策略规则的WAF,使得本来很简单事情变得复杂起来。

黑名单、限制访问频率、检测HTTP头等这些都是常见的策略,不按常理出牌的也有检测到爬虫行为,就往里注入假数据返回,以假乱真,但为了良好的用户体验,一般都不会这么做。

在遇有反采集、IP地址不够的时候,通常我们想到的是使用大量代理解决这个问题,因代理具有时效、不稳定、访问受限等不确定因素,使得有时候使用起来总会碰到一些问题。

进入正题,使用Python3简单实现一个单机版多线程/异步+多代理的爬虫,没有分布式、不谈高效率,先跑起来再说,脑补开始。。。

0×01

基础知识1.1 代理类型

使用代理转发数据的同时,代理服务器也会改变REMOTE_ADDR、HTTP_VIA、HTTP_X_FORWARDED_FOR这三个变量发送给目标服务器,一般做爬虫的选择优先级为高匿

> 混淆 > 匿名 > 透明 > 高透

高透代理(High Transparent Proxy):单纯地转发数据

REMOTE_ADDR = Your IPHTTP_VIA

= Your IPHTTP_X_FORWARDED_FOR = Your IP

透明代理(Transparent Proxy):知道你在用代理,知道你IP

REMOTE_ADDR = Proxy

IPHTTP_VIA = Proxy IPHTTP_X_FORWARDED_FOR = Your IP

匿名代理(Anonymous Proxy):知道你用代理,不知道你IP

你可能感兴趣的:(python多线程爬虫和异步爬虫_Python3:一个单机版多线程/异步+多代理的爬虫方案...)