V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Neagle
V2EX  ›  Python

怎么维护 爬虫代理池谢谢

  •  3
     
  •   Neagle · 2016-01-20 16:21:26 +08:00 · 22627 次点击
    这是一个创建于 3266 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位前辈好,个人花了一年业余时间认真学习了 Python 和 Redis ,准备在爬虫这块做深入一点,长久一点,需要维护一个 IP 代理池,目前采取了二种办法:
    1 )在淘宝上购买 ip 代理,带 api 的那种,比较方便,但是发现可用性不是很高,在数百万的爬取中花费也上来了。
    2 )爬取一些免费代理网站公开的代理 ip 列表,然后用这些列表去访问 baidu.com ,返回码 200 ,则表示可用。发现这些代理的可用性更低,而且很快失效。

    想请教下各位前辈怎么维护自己的代理 ip 池,主要有二个问题:
    1 、那些提供代理 ip 的网站他们的代理 ip 那里来的,如果是扫(或者爬)的,烦请告知需要些什么知识,我去学习了再来继续,有推荐书籍最好。
    2 、怎么更好的验证代理的可用性,比如验证速度,是否高匿等。

    非常感谢。

    30 条回复    2018-03-15 00:33:54 +08:00
    hunk
        1
    hunk  
       2016-01-20 17:10:14 +08:00
    这个问题我也考虑过,感觉只有付费才有可能得到高质量的服务。
    还没进一步探索可行性。
    codehehe
        2
    codehehe  
       2016-01-20 17:10:18 +08:00
    api 怎么收费的
    lins05
        3
    lins05  
       2016-01-20 17:12:44 +08:00   ❤️ 2
    jq8778
        4
    jq8778  
       2016-01-20 17:13:41 +08:00   ❤️ 1
    很久很久以前,有个软件叫 proxyfire ,各种自动,现在除了搜索之外的功能还是能用的。
    要大量代理列表的话,一般用吸附,你可以去找几个日更的那种免费代理的 LIST ,然后直接吸附。
    验证的话,一个 PHP 脚本搞定(好像叫 proxy judge 的),自己用台服务器,就几个参数(好像是 HTTP_FORWARDED 还是什么的)就可以判断出来了。
    当然,爬虫保证稳定性,建议最好不用代理...
    yzimhao
        5
    yzimhao  
       2016-01-20 17:15:48 +08:00   ❤️ 1
    这个也是我一直在考虑的问题, 有方案了 请记得联系我

    我这边目前提供了一些免费代理列表
    http://www.kjson.com/proxy/
    在验证代理的地方卡了很久

    有兴趣的话可以合作开发一下。
    eonboy
        6
    eonboy  
       2016-01-20 17:27:07 +08:00
    扫描的话看看 nmap
    zjb861107
        7
    zjb861107  
       2016-01-20 17:52:27 +08:00
    忘了什么地方看到过用 tor ,然后重启 tor 可以实现改变 ip 的目的。。。没有实践过,只是提供个思路
    sohoer
        8
    sohoer  
       2016-01-20 18:00:28 +08:00
    淘宝买 的那些代理维护成本太高不建议用
    ROS+多路 ADSL 是不错的多 IP 方案
    也可以看看这个
    https://luminati.io/
    crab
        9
    crab  
       2016-01-20 18:14:13 +08:00   ❤️ 1
    代理 IP 不管是免费还是收费,能用的太少了。
    现在都是直接买个 VPS 带 adsl 拨号的, 1 天 5 元左右, IP 被封就重新拨号换个这样。
    binux
        10
    binux  
       2016-01-20 18:21:17 +08:00   ❤️ 6
    1. 收集代理列表
    2. 做一个或者找一个能显示 ip 和 header 的接口
    3. 设置一个小于 5 秒的连接超时, 用代理访问这个地址, 测试访问性, 匿名性, 是否插广告, 是否是真的代理. 最好用异步 http 库去做
    4. 将代理列表交给一个能够自动切换 /隔离失效代理的代理服务器, 比如 squid 或者自己写一个
    5. 毎小时重复一遍
    mengskysama
        11
    mengskysama  
       2016-01-20 19:41:43 +08:00
    @yzimhao
    我猜你这个验证是拿百度当靶的,然后判断字符串,结果很多人反代百度的。。。
    just1
        12
    just1  
       2016-01-20 19:45:18 +08:00 via Android
    扫描还是 zmap
    TaMud
        13
    TaMud  
       2016-01-20 21:55:22 +08:00
    https://proxy.peuland.com
    1 小时内可用的,上面都有
    Felldeadbird
        14
    Felldeadbird  
       2016-01-21 00:45:49 +08:00 via iPhone
    我一个单独的去验证可用性,用不了就记录。一周后重置,再代理。我的代理是收费的
    ghy459
        15
    ghy459  
       2016-01-21 02:27:22 +08:00 via iPhone
    插个题外话,部分黑产就是靠抓全网代理赚钱的
    em70
        16
    em70  
       2016-01-21 02:40:29 +08:00
    淘宝买的付费代理 API 绝对够用了,你要控制频率啊,不能摁着一个羊薅羊毛,几百个 IP 轮着来
    ywencn
        17
    ywencn  
       2016-01-21 08:37:04 +08:00
    试试这类的免费代理 IP 网站
    http://www.ip84.com
    http://www.mimiip.com
    可以写个脚本去获取
    dreasky
        18
    dreasky  
       2016-01-21 09:10:40 +08:00   ❤️ 2
    用 TOR ,可以通过 socket 给 TOR 发送切换新 ip 消息,免费还无限量
    glasslion
        19
    glasslion  
       2016-01-21 10:22:44 +08:00
    @em70 求淘宝关键字
    louk78
        20
    louk78  
       2016-01-21 15:07:04 +08:00   ❤️ 1
    用 Goagent ,谷歌的 IP 扫不完
    Neagle
        21
    Neagle  
    OP
       2016-01-24 11:56:10 +08:00 via iPhone
    @glasslion 直接搜索代理 IP 。
    Neagle
        22
    Neagle  
    OP
       2016-01-27 09:58:31 +08:00
    @binux 请问怎么“测试访问性, 匿名性, 是否插广告” 谢谢。
    binux
        23
    binux  
       2016-01-27 16:58:01 +08:00   ❤️ 1
    @Neagle 用代理访问一个固定的,能显示 header 的页面
    feather12315
        24
    feather12315  
       2016-03-19 10:29:22 +08:00
    @TaMud {'message': 'hello bot'}
    ......
    mapleray
        25
    mapleray  
       2016-03-30 22:20:52 +08:00   ❤️ 1
    feather12315
        26
    feather12315  
       2016-03-30 23:54:01 +08:00 via Android
    @mapleray 感谢。当初嫌麻烦,懒得实现,这下有现成的啦~
    Nostalgia
        27
    Nostalgia  
       2016-11-18 18:07:11 +08:00
    @ghy459 可否多透露点儿呢?谢谢。
    Soar360
        28
    Soar360  
       2018-01-16 11:05:50 +08:00
    sw10
        29
    sw10  
       2018-02-24 20:53:08 +08:00
    1. 那些提供代理 ip 的网站他们的代理 ip 那里来的?
    部分是扫描来的,部分是自建的,另外一些是比较特殊的渠道。(如:路由器内置)

    2. 怎么更好的验证代理的可用性,比如验证速度,是否高匿等。
    判断是否高匿用 httpbin.org 就行。

    最后广告以下,我自己有维护一个代理池,提供免费和付费两种形式,有部分 V2EX 的朋友在使用。具体参考下面的站内贴:
    /t/424630
    jakeyfly
        30
    jakeyfly  
       2018-03-15 00:33:54 +08:00
    @sw10 大佬 求扫描方法 我闲着没事 想给自己的爬虫整点代理用 不抢生意
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2770 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:41 · PVG 20:41 · LAX 04:41 · JFK 07:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.