V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
geeglo
V2EX  ›  问与答

数据采集问题,请教一下各位。

  •  
  •   geeglo · 2015-08-23 10:57:07 +08:00 · 2161 次点击
    这是一个创建于 3376 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一共有七万条数据要采集,采集对象是一个数据接口,但是接口限制了频率,每小时 200 次左右,被限制之后换个 IP 就能继续采集的,我家里用 ADSL ,虽然可以做到被限制之后就自动重连换 IP ,可是这样效率并不高。

    想问问,有没有好的办法,能快速采集完成。
    13 条回复    2015-08-24 18:21:55 +08:00
    publicID001
        1
    publicID001  
       2015-08-23 11:03:40 +08:00
    阿里云 开 35 台 最低配置 一小时解决 大概 15 块钱
    kslr
        2
    kslr  
       2015-08-23 11:04:27 +08:00
    代理
    geeglo
        3
    geeglo  
    OP
       2015-08-23 11:20:48 +08:00
    @publicID001 大哥,少了个 0 。
    kchum
        4
    kchum  
       2015-08-23 11:23:05 +08:00 via iPhone
    代理 ip 日租 7 块钱
    Strikeactor
        5
    Strikeactor  
       2015-08-23 12:08:54 +08:00
    http://spys.ru/free-proxy-list/CN/

    Heroku 应用重启之后 IP 会换,控制得好也可以做到自动切 IP
    abelyao
        6
    abelyao  
       2015-08-23 12:31:40 +08:00 via iPhone
    淘宝上之前有 1 块钱 8000 个代理 IP 的,运气好的话大概有五六千个是可以用的。去年底玩刷票的时候买了有十多万个。
    现在的关键词比较难找,被屏蔽了很多,或许可以从百度去找。
    aheadlead
        7
    aheadlead  
       2015-08-23 12:46:32 +08:00 via iPhone
    @abelyao
    powergx
        8
    powergx  
       2015-08-23 13:35:59 +08:00 via iPhone
    自己去免费代理网站爬代理
    xingzhi
        9
    xingzhi  
       2015-08-23 21:36:38 +08:00
    注册 aws ,送 750 小时 EC2 t2.micro 实例的使用时间。
    70000/200 = 350 , 开 350 台机子跑 1 小时就够了(只是有点浪费哈),免费份额还有剩余。
    最简单的实现就是一台 master ,其余部署为代理服务器,使用这些机子做出口 ip 就好了。

    若使用网上的代理服务器,我见过最靠谱的是 hide my ass 的代理服务器,源码做了混淆,比较难自动抓取,但也有现成的抓取程序 proxylist-hma, 亲测可用。

    Ref:
    ec2 : http://aws.amazon.com/cn/ec2
    HMA proxy: http://proxylist.hidemyass.com/
    proxylist-hma: https://github.com/bbertka/proxylist-hma
    xingzhi
        10
    xingzhi  
       2015-08-23 21:37:56 +08:00
    淘宝还有卖那种 ADSL 拨号主机,号称 ip 范围几万个,可以写代码实现 PPPoE 拨号和断线,也是亲测可用:)
    geeglo
        11
    geeglo  
    OP
       2015-08-24 16:50:22 +08:00 via iPhone
    @xingzhi ppeo 拨号自动短线如何弄希望是 python 写的,虽然已经买代理 ip 搞定了,但还是想学一下,
    xingzhi
        12
    xingzhi  
       2015-08-24 18:13:10 +08:00   ❤️ 1
    @geeglo 淘宝上卖的那些机子都是 win xp 的,可以通过 python 调用执行系统命令来控制拨号。
    如创建拨号连接后,调用 rasdial connection_name 和 rasdial connection_name /disconnect 控制连接和断线。


    Ref :
    Rasdial 通过使用简单的批处理文件和 rasdial 命令,可以使任何 Microsoft 客户端的连接过程自动化。 rasdial 命令使用指定项启动网络连接。

    语法
    rasdial connectionname [username [password | *]] [/domain:domain] [/phone:phonenumber] [/callback:callbacknumber] [/phonebook:phonebookpath] [/prefixsuffix]

    rasdial 命令使用以下语法断开网络连接:

    rasdial [connectionname] /disconnect
    geeglo
        13
    geeglo  
    OP
       2015-08-24 18:21:55 +08:00 via iPhone
    @xingzhi 感谢🙏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5320 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:21 · PVG 17:21 · LAX 01:21 · JFK 04:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.