• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wyan453351466
V2EX  ›  程序员

小网站每个月光是谷歌爬虫的 CDN 流量费用就要 30 元+?

  •  2
     
  •   wyan453351466 · Nov 22, 2017 · 11768 views
    This topic created in 3122 days ago, the information mentioned may be changed or developed.

    根据我后台的数据统计,谷歌的爬虫保守估计一天请求了我的网站 3 万次。

    这还不算其他的一些搜索引擎的请求( yandex 之类的)。

    这个数据正常吗?

    如果一个恶意爬虫,user-agent 冒充是 Google。这个有办法识别吗?

    5D821D07-CC01-4522-A2C7-F02FB50C48B5.png

    下面晒一下昨天又拍云的费用账单,光是欧美的动态资源加速费用就 1.64 元(我是大陆中文网站哪会有欧美的用户?)。加上 https 加速和 cdn 流量费用是 2 元多。按这个标准,每个月我要付费 60 多块钱给欧美的爬虫!

    我的真实 PV 才 3000 啊(百度统计的数据)。每日动态资源请求次数居然可以有 8 万,你敢信?

    QQ20171122-171923.png

    所以现在是要限制一下谷歌爬虫的请求频率?这个谷歌官方应该有设置。

    我想求教大家的是:

    1. 如何准确的区分真实搜索引擎,和恶意爬虫?( user-agent 判断貌似不靠谱)

    2. 如何更好的反爬虫?判断一个 IP1 分钟、1 小时、1 天内的请求次数?

    3. 更关键的是:我想求教大牛:有没有真实案例自己网站日均 PV10 万+的?开 HTTPS 的情况下,这样的网站一个月的 CDN、流量费用要多少钱呢?( HTTPS 的 CDN 请求也要钱的!阿里云和又拍云的价格是:1 万次 0.05 元)

    45 replies    2017-11-24 17:07:28 +08:00
    yulgang
        1
    yulgang  
       Nov 22, 2017   ❤️ 1
    Zzzzzzzzz
        2
    Zzzzzzzzz  
       Nov 22, 2017
    robots 里设 Crawl-delay, 但几大厂流氓起来也有可能不管这个

    判断是否爬虫也没什么好办法, 理论上可以反查 IP 的 PTR, 几大搜索引擎的爬虫一般都有注明, 但是搜索引擎为了防止作弊, 都有一些标称 IP 段外的 IP 做随机访问, 大规模针对性输出的反而可能有反效果

    所以, 硬扛吧
    kaer
        3
    kaer  
       Nov 22, 2017
    日 PV 22 万左右 服务器费用加 CDN 费用 每月接近 7K-10k
    kungfuchicken
        4
    kungfuchicken  
       Nov 22, 2017
    其实,你可以换一家动态加速不要钱的就解决啦
    paranoiagu
        5
    paranoiagu  
       Nov 22, 2017 via Android   ❤️ 1
    没有国外用户,你可以关了国外加速。
    0ZXYDDu796nVCFxq
        6
    0ZXYDDu796nVCFxq  
       Nov 22, 2017 via iPhone
    IP 贴出来啊,如果我是恶意爬虫,我也肯定用 Google 或者百度的 UA
    Le4fun
        7
    Le4fun  
       Nov 22, 2017
    国外用户是不是部分人开了梯子没关访问你的网站
    yytsjq
        8
    yytsjq  
       Nov 22, 2017   ❤️ 5
    验证 Googlebot
    https://support.google.com/webmasters/answer/80553?hl=zh-Hans

    要验证 Googlebot 是否为调用方,请执行以下操作:

    1. 使用 host 命令对您日志中访问服务器的 IP 地址运行反向 DNS 查找。
    2. 验证该域名是否位于 googlebot.comgoogle.com 中。
    3. 对在第 1 步中使用 host 命令检索到的域名运行正向 DNS 查找。验证该域名与您日志中访问服务器的原始 IP 地址是否一致。

    示例 1:

    > host 66.249.66.1
    1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

    > host crawl-66-249-66-1.googlebot.com
    crawl-66-249-66-1.googlebot.com has address 66.249.66.1


    示例 2:

    > host 66.249.90.77
    77.90.249.66.in-addr.arpa domain name pointer rate-limited-proxy-66-249-90-77.google.com.

    > host rate-limited-proxy-66-249-90-77.google.com
    rate-limited-proxy-66-249-90-77.google.com has address 66.249.90.77
    opengps
        9
    opengps  
       Nov 22, 2017
    你可以去谷歌设置下爬取频率
    schema
        10
    schema  
       Nov 22, 2017
    你说没有海外业务,那关闭国外加速,关闭国外 HTTPS 就好很多了
    isCyan
        11
    isCyan  
       Nov 22, 2017
    动态资源过 CDN 真的很费钱,动静分离吧
    Loyalsoldier
        12
    Loyalsoldier  
       Nov 22, 2017
    又拍云的 动态资源加速 是所有项目中最贵的。问过客服,说:只要页面设置缓存超过 1 分钟,就不会被又拍云认为是动态资源。楼主可以试试把不重要的内容缓存 2 分钟……

    我们公司就是这样一个月省下 3K 的
    wyan453351466
        13
    wyan453351466  
    OP
       Nov 22, 2017 via iPhone
    @Loyalsoldier 如果缓存 1 分钟的话,那类似用户登录的操作,还可以实时更新登录状态吗😂 我回头咨询一下他们客服。现在首页不可以缓存,其他页面都可以,就看登录这个能不能行了
    wyan453351466
        14
    wyan453351466  
    OP
       Nov 22, 2017 via iPhone
    @paranoiagu 嗯,谢谢!我明天看看又拍云怎么设置。不过即使关闭加速,请求费用和 https 还是省不下来的。除非国外可以走不同的 dns。

    这里又涉及到一个问题:如果国外直接访问源站的话,暴露服务器的 ip 会不会有安全问题
    Loyalsoldier
        15
    Loyalsoldier  
       Nov 22, 2017
    @wyan453351466 #13

    登录页面当然不可以缓存……
    Loyalsoldier
        16
    Loyalsoldier  
       Nov 22, 2017
    @wyan453351466 #13

    但是搜索引擎应该也不会爬登录页吧,或者你设置一下 robots.txt 文件的爬虫规则
    wyan453351466
        17
    wyan453351466  
    OP
       Nov 22, 2017 via iPhone
    @Loyalsoldier 不是,我的意思是,每个页面的头部都会显示登录状态的。如果登录了,其他页面被缓存,岂不是看不到登录状态了(还是显示未登录)
    Loyalsoldier
        18
    Loyalsoldier  
       Nov 22, 2017
    @wyan453351466 #17

    是的……缓存只能用在不涉及用户状态变更的页面
    wyan453351466
        19
    wyan453351466  
    OP
       Nov 22, 2017 via iPhone
    @Loyalsoldier 所以就没办法了😂
    mcfog
        20
    mcfog  
       Nov 22, 2017 via Android
    @wyan453351466 动静分离的第一步就是把带状态的内容和静态内容分离啊,静态首页显示未登录的或者空白的头,js 请求登录态后再画头呗
    wyan453351466
        21
    wyan453351466  
    OP
       Nov 22, 2017 via iPhone
    @mcfog 大神啊!之前看到一些大网站这么做的。没往这方面想。谢谢啦
    wyan453351466
        22
    wyan453351466  
    OP
       Nov 22, 2017 via iPhone
    @mcfog 那这么说首页其实也可以静态的。首页的内容每次刷新会变化,这个也可以用 js 异步获取。不过我多了解下 seo 方面有什么影响。即使不优化首页,其他页面全部静态化,也要减少很多的动态费用了
    huangunic0rn
        23
    huangunic0rn  
       Nov 22, 2017 via Android
    host 反解域名就行。带 Google 当然是谷歌
    wdlth
        24
    wdlth  
       Nov 22, 2017
    国外的一般用云减速 CF 顶着,用网宿又拍什么的太壕了……
    woshinide300yuan
        25
    woshinide300yuan  
       Nov 22, 2017
    哈哈,访问区域限制,只支持大陆?
    然后关闭海外加速?
    然后……根据 UA 限制一下抓取频率?
    然后…… 解析到 127.0.0.1 /DOGE
    哈哈~
    ericgui
        26
    ericgui  
       Nov 23, 2017
    @kaer 请问您的网站是不是已经盈利了呢?每月开支这么大,否则撑不下去的吧?
    Technetiumer
        27
    Technetiumer  
       Nov 23, 2017 via Android
    DNS 分區解析

    海外 Incapsule 免費
    國內 又拍
    mytsing520
        28
    mytsing520  
    PRO
       Nov 23, 2017
    @woshinide300yuan 他的访问区域功能,默认情况下开启境外,即开启境外节点,这部分结算费用比较高;关闭境外后,境外访问该网站则只使用中国大陆节点,而不是境外禁止访问
    heat
        29
    heat  
       Nov 23, 2017 via iPhone
    @kaer 日 PV30 万,每个月费用是你的二分之一……
    NowTime
        30
    NowTime  
       Nov 23, 2017 via Android
    Google 等其它爬虫不会加载网页中的 js,所以你添加的 百度统计 代码,统计不到这些爬虫的访问记录。
    shakoon
        31
    shakoon  
       Nov 23, 2017
    pv 3k 其实不用 cdn 也没多大问题,或者换个免费的好了
    boyxupers
        32
    boyxupers  
       Nov 23, 2017 via iPhone
    @shakoon 同感,小站上什么 cdn ?
    ss0xt
        33
    ss0xt  
       Nov 23, 2017
    怕不是上次你爬煎蛋,过分,有人来搞你了?(滑稽
    ninestep
        34
    ninestep  
       Nov 23, 2017
    静态资源防盗链,爬虫爬你的静态文件干嘛,肯定是有人用你的静态资源了
    a1044634486
        35
    a1044634486  
       Nov 23, 2017
    感觉 33 楼说的有道理
    wyan453351466
        36
    wyan453351466  
    OP
       Nov 23, 2017
    @ss0xt
    @a1044634486

    这件事我也不想再做太多的解释了。在遇到事情的严重性后,我已经在自己的网站下架了这个版块,并停止了对煎蛋的爬取。(仅凭我一个人一台渣渣服务器就可以对一个网站进行 ddos 攻击,那您真的是太高看我了)
    kaer
        37
    kaer  
       Nov 23, 2017
    @ericgui 不盈利早亏死了
    IzY
        38
    IzY  
       Nov 23, 2017 via iPhone
    @kaer 还接广告不,1w uv 提成 100
    mymuw
        39
    mymuw  
       Nov 23, 2017
    试试这个 cdn 很便宜很稳定 www.kekaoyun.com
    lengyihan
        40
    lengyihan  
       Nov 23, 2017 via Android
    用免费的吧,
    paranoiagu
        41
    paranoiagu  
       Nov 23, 2017 via Android
    @wyan453351466 不会用原站的,就是国外用户访问了国内的 CDN,速度慢一点。
    paranoiagu
        42
    paranoiagu  
       Nov 23, 2017 via Android
    @mymuw 回源端口支持非标准端口吗?现在电信封了 80 和 443。
    Hmily
        43
    Hmily  
       Nov 24, 2017
    可以在域名解析上区分析蜘蛛线路,可以选择重要蜘蛛回源不走 cdn,cdn 过来的假蜘蛛可以屏蔽。
    8355
        44
    8355  
       Nov 24, 2017
    其实你的 PV 很可能超过 3000 因为现在浏览器的广告屏蔽插件都会屏蔽百度统计的 js 加载 所以实际上可能没有你看到的那么少.
    kaer
        45
    kaer  
       Nov 24, 2017
    @IzY 开什么玩笑咯。我们靠这点广告吃饭早就倒闭了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2651 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 15:49 · PVG 23:49 · LAX 08:49 · JFK 11:49
    ♥ Do have faith in what you're doing.