2019-03-14

(续)之前已经把IP全部爬取下来了。统计了下


看吧 ,总共有4万多个ip。

今天要写的是代理ip的过滤,免费的代理肯定有很多是不能用的。先说下思路:

1.从redis中把ip取出来。

2.一条一条测试去访问http://httpbin.org.get

3.如果能成功访问,则把这个ip放到redis中的可用ip池中,

4.如果不能访问则把ip放在redis的不可用ip池中。

因为免费代理的不稳定性。所有获取到的ip我这里先不直接删掉,而是放在redis中,过后再去测试或许还有IP能用。

这里我封装成类,方便以后测试。

class IpPool(object):

    def __init__(self):

            pass

    #从redis中删除不可用的ip

    def pop(self):

            pass

    #测试ip的可用性

    def __check(self):

            pass

    #可用的ip放到redis中的可用ip池

    def add(self):

        pass

#大概的模型是这样的。然后一步步是实现这些方法。

你可能感兴趣的:(2019-03-14)