vtwoextb
V2EX  ›  PHP

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

  •  
  •   vtwoextb · Aug 3, 2017 · 4477 views
    This topic created in 3245 days ago, the information mentioned may be changed or developed.

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

    语言 php

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

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