V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vtwoextb
V2EX  ›  PHP

写了一个动态获取 IP 爬虫抓取内容的 DEMO......

  •  
  •   vtwoextb · 2017-08-03 08:46:09 +08:00 · 3833 次点击
    这是一个创建于 2451 天前的主题,其中的信息可能已经有所发展或是发生改变。

    demo 地址: https://github.com/hizdm/dynamic_ip

    语言 php

    24 条回复    2017-08-04 13:48:09 +08:00
    zhlssg
        1
    zhlssg  
       2017-08-03 09:02:23 +08:00
    苏宁的?
    vtwoextb
        2
    vtwoextb  
    OP
       2017-08-03 09:09:15 +08:00
    @zhlssg 不是 只是用了个 图标而已
    Tink
        3
    Tink  
       2017-08-03 09:10:13 +08:00
    这个重启路由器的函数适用于所有路由?
    vtwoextb
        4
    vtwoextb  
    OP
       2017-08-03 09:13:24 +08:00
    @Tink 不是 这个要看自己的路由器 重新启动的地址 (在浏览器 按 F12 点击重新启动 查看 请求的链接地址)
    pengfei
        5
    pengfei  
       2017-08-03 09:32:50 +08:00
    不大懂 php,有几个问题
    1. $errNum 何时累加的 是在"// 采集内容分析"?
    2. 你这个 demo 是在没有使用运营商购买固定 ip 的情况下可以通过重新自动换 ip,一般的公司都是为服务器分配固定 ip,此法还能适用?
    vtwoextb
        6
    vtwoextb  
    OP
       2017-08-03 09:38:15 +08:00
    $errNum 是你按照自己的情况定,比如你认为程序采集某个链接的内容 设定采集 10 次有$errNum 次不成功,就认为得重新换一个 ip 比较保险;

    运营商好像可以买动态的 ip
    oh
        7
    oh  
       2017-08-03 09:42:26 +08:00 via iPhone
    然而现在运营商都分配 nat 地址了,重拨多少次出口 ip 都一样…
    vtwoextb
        8
    vtwoextb  
    OP
       2017-08-03 09:49:34 +08:00
    @oh 这只是提供一个策略和一个可执行的 demo,然而现在有很多公司需要抓取数据(服务器可以放在自己的公司用路由器链接然后再 Rsync 到远程服务器),这个程序我试验过,目前跑在自己家的 树莓派上 效果还不错,这个主要用于我的一个商品比价的网站上,已经运行一年多了!
    king2014
        9
    king2014  
       2017-08-03 09:55:54 +08:00
    作者是为了爬取的时候自己的 ip 被对方封掉了,自动重启路由器,让路由器重新分配 ip,然后在去爬取内容吗?
    vtwoextb
        10
    vtwoextb  
    OP
       2017-08-03 09:57:28 +08:00
    @king2014 是的 原理就这么简单 程序里面 为了安全 加了 ping 网络通不通
    king2014
        11
    king2014  
       2017-08-03 09:58:43 +08:00
    CLIENT-IP 和 X-FORWARDED-FOR 可以 curl 伪造,我一般是直接把对方网站的 ip 写上,如果对方只是通过这两个判断,那么这样应该就可以了,不至于把自己 ip 封掉
    但是如果对方是通过 REMOTE_ADDR 去获取 ip 的,那我上面操作是无效的,还真可能通过你这种路由器重启让真实 ip 改变的方法了
    vtwoextb
        12
    vtwoextb  
    OP
       2017-08-03 10:01:51 +08:00
    @king2014 是的 有的网站判断很严格 比如 京东 豆瓣
    ericls
        13
    ericls  
       2017-08-03 10:26:07 +08:00 via iPhone
    为什么不直接用 FaaS
    Soar360
        14
    Soar360  
       2017-08-03 11:18:23 +08:00
    搭车安利一波:
    https://ip.coderbusy.com/
    cdwyd
        15
    cdwyd  
       2017-08-03 11:25:33 +08:00
    @Soar360
    数量有点少啊 也没看到筛选功能
    RLib
        16
    RLib  
       2017-08-03 14:54:24 +08:00
    @oh 电信可以自己要求恢复
    lianxiaoyi
        17
    lianxiaoyi  
       2017-08-03 17:57:46 +08:00
    不停的重启路由器隔壁屋的人会疯的。。。。。。而且重启路由器多慢啊 。。。。为何不尝试重新拨号。。。。
    UnisandK
        18
    UnisandK  
       2017-08-03 18:00:01 +08:00
    你敢把这朝公司里部署吗老铁。。
    vtwoextb
        19
    vtwoextb  
    OP
       2017-08-03 18:08:10 +08:00
    @UnisandK 这个可以单独申请一条线 毕竟有的公司好多数据是靠抓取的啊
    vtwoextb
        20
    vtwoextb  
    OP
       2017-08-03 18:08:57 +08:00
    @lianxiaoyi 重新拨号不错 可以减少路由器重启的时间
    fuxkcsdn
        21
    fuxkcsdn  
       2017-08-03 21:47:45 +08:00 via iPhone
    这脚本优化空间还很大蛤…
    echo $aa = 'xxx'; 真心没见过这种写法…
    最不可忍的是,竟然用 tab 缩进!
    tammy
        22
    tammy  
       2017-08-04 09:02:27 +08:00
    @fuxkcsdn 我忍不了不用 tab 缩进的
    vtwoextb
        23
    vtwoextb  
    OP
       2017-08-04 13:47:45 +08:00
    @fuxkcsdn 欢迎优化
    vtwoextb
        24
    vtwoextb  
    OP
       2017-08-04 13:48:09 +08:00
    @tammy 击掌^_^
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1469 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:17 · PVG 01:17 · LAX 10:17 · JFK 13:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.