那夜,那是一个寂静的深夜。
我废了好大劲,爬虫终于写好了!BUG也全部调通了!心想,终于可以坐享其成了!
泡杯茶,安静地坐在椅子上看着屏幕上一行行文字在控制台跳出,一条条数据嗖嗖进入我的数据库,一张张图片悄悄存入我的硬盘。人生没有几个比这更惬意的事情了。
我端起茶杯,抿了一口,静静地回味着茶香。
这时,什么情况!屏幕爆红了!爆红了!一口茶的功夫啊喂!
怎么回事!咋爬不动了,不动了!我用浏览器点开那一个个报错的链接,浏览器显示
您的请求过于频繁,IP已经被暂时封禁,请稍后再试!
沃日,我IP被封了?此时此刻,空气凝固了,茶也不再香了,请给我一个爱的抱抱啊。
时候不早了,还是洗洗睡吧。
次日
那一晚,辗转反侧难以入睡。
怎么办?怎么办?如果是你你该怎么办?
手动换个IP?得了吧,一会又要封了,还能不能安心睡觉啊?
找免费代理?可行,不过我之前测过不少免费代理IP,一大半都不好用,而且慢。不过可以一直维护一个代理池,定时更新。
买代理?可以可以,不过优质的代理服务商价格可是不菲的,我买过一些廉价的,比如几块钱套餐一次提取几百IP的,算了还是不说了都是泪。
然而最行之有效的方法是什么?那当然是ADSL拨号!
这是个啥?且听我慢慢道来。
什么是ADSL
ADSL (Asymmetric Digital Subscriber Line ,非对称数字用户环路)是一种新的数据传输方式。它因为上行和下行带宽不对称,因此称为非对称数字用户线环路。它采用频分复用技术把普通的电话线分成了电话、上行和下行三个相对独立的信道,从而避免了相互之间的干扰。
他有个独有的特点,每拨一次号,就获取一个新的IP。也就是它的IP是不固定的,不过既然是拨号上网嘛,速度也是有保障的,用它搭建一个代理,那既能保证可用,又能自由控制拨号切换。
如果你是用的ADSL上网方式,那就不用过多设置了,直接自己电脑调用一个拨号命令就好了,自动换IP,分分钟解决封IP的事。
然而,你可能说?我家宽带啊,我连的公司无线啊,我蹭的网上的啊!那咋办?
这时,你就需要一台VPS拨号主机。
购买服务器
这里我推荐老兵IDC,这是一家湖北武汉的公司,武汉网盾科技有限公司旗下的老兵IDC团队,是一群由退伍老兵组建起来的互联网公司, 产品和服务口碑都非常好,而且IDC/ISP双证齐全,这家公司成立也有10多年了。他们的VPS是一个专线固定IP管理的远程还可以附带一个独立的宽带拨号,却可以做到月付7,80左右起步的价格,并且还支持日付、周付等更多灵活的付费方式。
老兵拨号vps相对来说做代理ip有哪些优势;
1.自建机房,稳定故障率低,专业的idc机房管理。
2.光纤植入,与电信联通深度合作,稳定安全极速的带宽。
3.节点丰富,节点遍布全国,丰富的线路。
4.海量ip池,ip资源丰富,重复率极低。
5.专业技术支持,售后技术保证,故障第一时间处理,提高工作效率。
6.完善的客服代表无节假日在线待命。
7.性价比超强,价格大众,企业级品质,
检查VPS
现在万事俱备只缺代理了。这里我装的CentOS的,在后面设置代理啊,定时任务啊,远程SSH管理啊之类的比较方便。如果你想用Windows,能配置好代理那也没问题。
有的小伙伴可能会问了,既然它的IP是拨号变化的,你咋用SSH连?其实服务商提供了一个域名,做了动态解析和端口映射,映射到这台主机的22端口就好了,所以不用担心IP变化导致SSH断开的问题。
好了装好了服务器之后,服务商提供了一个ADSL的拨号操作过程,用pppoe命令都可以完成,如果你的是Linux的主机一般都是用这个。然后服务商还会给给你一个拨号账号和密码。
那么接下来就是试下拨号了。
服务商会提供详细的拨号流程说明。
比如老兵IDC的是这样的:
拨号流程
设置好了之后,就有几个关键命令:
pppoe-start拨号
pppoe-stop 断开拨号
pppoe-status拨号连接状态
如果想重新拨号,那就执行stop、start就可以了。
反复执行,然后查看下ip地址,你会发现拨号一次换一个IP,是不是爽翻了!
好,那接下来就设置代理吧。
设置代理服务器
之前总是用别人的代理,没自己设置过吧?那么接下来我们就来亲自搭建HTTP代理。
Linux下搭建HTTP代理,推荐Squid和TinyProxy。都非常好配置,你想用哪个都行,且听我慢慢道来。
我的系统是CentOS,以它为例进行说明。
Squid
首先利用yum安装squid
yum -y install squid
设置开机启动
chkconfig --level 35 squid on
修改配置文件
vi /etc/squid/squid.conf
修改如下几个部分:
http_access allow !Safe_ports #deny改成allow
http_access allow CONNECT !SSL_ports #deny改成allow
http_access allow all #deny改成allow
其他的不需要过多配置。
启动squid
sudo service squid start
如此一来配置就完成了。
代理使用的端口是3128
TinyProxy
首先添加一下镜像源,然后安装
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum update
yum install tinyproxy
修改配置
vi /etc/tinyproxy/tinyproxy.conf
可以修改端口和允许的IP,如果想任意主机都连接那就把Allow这一行注释掉。
Port 8888 #预设是8888 Port,你可以更改
Allow 127.0.0.1 #将127.0.0.1改成你自己的IP
#例如你的IP是1.2.3.4,你改成Allow 1.2.3.4,那只有你才可以连上这个Proxy
#若你想任何IP都可以脸到Proxy在Allow前面打#注释
启动TinyProxy
service tinyproxy start
好了,两个代理都配置好了。
你想用那个都可以!
不过你以为这样就完了吗?太天真了,我被困扰了好久,怎么都连不上,我还在怀疑是不是我哪里设置得不对?各种搜,一直以为是哪里配置有遗漏,最后灵光一现,后来发现是iptables的锅,万恶的防火墙。踩过的的坑,那就不要让大家踩了,设置iptables,放行3128和8888端口就好了。如果嫌麻烦的小伙伴可以直接关闭防火墙,但是不推荐。
连接代理
接下来才是重头戏,你咋知道你的服务器IP现在到底是多少啊?拨一次号IP就换一次,那这还了得?
如果服务商提供了端口映射!那一切都解决了!直接用端口映射过去就好了。如果没有那就要自己去搞定这个问题。然而,老兵IDC它提供了端口映射,我可以直接利用端口进去,这解决了我一个大麻烦。哈哈哈哈哈.......
最后
经过一系列的折腾,终于成功的配置好了代理。现在可以端着茶愉快的坐在电脑前玩耍了。以上便是ADSL拨号服务器配置的全过程,希望对大家有帮助!
友情提示:python虽好,但不宜乱爬,要做一个符合社会主义价值观的良好公民。