一键获取免费真实的匿名代理

專 欄

夏洛之枫,从销售转为程序员,Python爬虫爱好者。

github: https://github.com/ShichaoMa/proxy_factory

blog: http://www.mashichao.com/

昨天闲来无事,实现了一个代理工厂,该程序自动从网上抓取免费代理(实现了9个代理网站哦),并对代理的可用性和匿名性进行检查,同时定时检查有效代理和无效代理,对于多次检查始终无效的代理,做放弃处理。同时检查函数可以自定义指定,用来针对不同的检查结果做出不同的反应。当然代理网站也可以自定义,简单的几行代码几条配置信息,实现最大限度的free-style。

网上抓取免费代理的小程序已经很多了,那为什么我还要写呢,原因只有一个,用起来简单,免费代理这东西,你指望他用来看电影,就是扯蛋,网速都贼慢。说白了,用他只是为了提供给我们广大程序员一个可用ip罢了,那么这个程序肯定是程序员怎么用起来方便怎么写。pip一键安装,守护进程的方式启动,剩下的不需要你操心了,直接去redis中获取有效代理即可。

原理什么的不讲了,都差不多,直接说使用方法 使用docker一键启动!

如果你不喜欢用docker的话,那么请往下看。 安装

运行

1分钟后看看你本地redis中good_proxies字段,是不是已经有了不少代理?

超简单有木有 但是!

理想很丰满,现实很骨感。如果你运气好一个坑都没有踩到,那么请点右上角(或左上角)x,我们下次再见。但是我很清楚,99%的盆友都会遇到各种安装坑,所以如何躲坑也是我下面即将讲述的重点,支起耳朵来吧! 首先

程序使用到了redis做为存储,如果你电脑上正好安装有redis同时也启动着,那么恭喜你,这个坑不会撂倒你。如果没有,那么请安装

其它平台请自行google。 其次

程序使用到了 tesseract-ocr 这个google开源的验证码识别程序,代理网站mimvp很坑爹,端口使用图片,于是乎只能机器识别了。当然,不安装ocr也没有关系,无非放弃这个网站喽。

最后

还是上面那个垃圾网站的坑,因为要识别验证码,我对图片进行了处理,所以需要pillow,pillow的安装请自行查看pillow官网,如果想放弃这个网站,打开我的源码,把这个网站相关的代码注释掉即可。

如果你是windows平台,相信我,千万坑总有一个能把你撂倒,珍爱生命,远离windows。

好了,坑讲解完毕。

下面讲启动方式。 启动方式

程序虽小,功能挺全。

先贴下指令

自定义检查方法

将检查方法保存成python文件,比如check,然后-cm check.check指向他即可。

自定义代理网站

配置模块

将配置模块信息保存成localsettings.py,然后-s 指向他就可以。同时,程序还支持环境变量配置,只要将字段保存为环境变量信息,如 export GOOD_CHECK_INTERVAL = 120,配置即可生效,优先级关系:环境变量>localsettings>defaultsettings。

redis中的状态

9个代理网站,有反爬机制的只有2个,一个是mimvp,使用图片端口反爬,一个是goubanjia,使用js混淆反爬,有兴趣的可以研究一下。

原文发布于微信公众号 - Python中文社区(python-china)

原文发表时间:2017-11-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏美团技术团队

分布式会话跟踪系统架构设计与实践

美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其它互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。 目前沙龙会分别在北...

4096
来自专栏腾讯Bugly的专栏

【Dev Club 分享】微信mars 的高性能日志模块 xlog

Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 本期,我们邀请了 ...

7405
来自专栏技术翻译

共享MongoDB主机的五大好处

共享主机是在云中部署MongoDB的最具成本效益且易于设置的选项之一,并被全球数千家公司用于托管其数据库。在这篇文章中,我们概述了使用共享MongoDB主机的五...

1550
来自专栏java思维导图

大话集群和负载均衡

原文:https://juejin.im/entry/5bc1b134f265da0a87268272

1185
来自专栏搜云库

保证分布式系统数据一致性的6种方案

在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要...

1.6K7
来自专栏CSDN技术头条

RebornDB:下一代分布式Key-Value数据库

现实世界有许多的Key-Value数据库,它们都被广泛应用于很多系统。比如,我们能够用Memcached数据库存储一个MySQL查询结果集给后续相同的查询使用,...

28710
来自专栏织云平台团队的专栏

如何优雅地实现高可用系统?

3679
来自专栏韩伟的专栏

分布式本质论:高吞吐、高可用、可扩展

大量用户访问同一个互联网业务,所造成的问题并不简单。从表面上看,要能满足很多用户来自互联网的请求,最基本的需求就是所谓性能需求:用户反应网页打开很慢,或者网游中...

2.4K0
来自专栏钱塘大数据

【推荐收藏】33款可用来抓数据的开源爬虫软件工具

要玩大数据,没有数据怎么玩?这里推荐一些33款开源爬虫软件给大家。 爬虫,即网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很...

5335
来自专栏杨建荣的学习笔记

运维开发里的数据动态获取和自动补录

在运维平台的设计中,目前有两套系统是并存,并行发展的,其中一部分原因是涉及的业务不同,关注点不同。所以在设计CMDB的部分时,最开始我是整合了已有的实现...

1074

扫码关注云+社区