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

2017-11-22 17:23:13 +08:00
 wyan453351466

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

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

这个数据正常吗?

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

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

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

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

我想求教大家的是:

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

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

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

10704 次点击
所在节点    程序员
45 条回复
yulgang
2017-11-22 17:40:13 +08:00
Zzzzzzzzz
2017-11-22 17:54:34 +08:00
robots 里设 Crawl-delay, 但几大厂流氓起来也有可能不管这个

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

所以, 硬扛吧
kaer
2017-11-22 18:09:44 +08:00
日 PV 22 万左右 服务器费用加 CDN 费用 每月接近 7K-10k
kungfuchicken
2017-11-22 18:25:33 +08:00
其实,你可以换一家动态加速不要钱的就解决啦
paranoiagu
2017-11-22 19:14:39 +08:00
没有国外用户,你可以关了国外加速。
gstqc
2017-11-22 19:19:41 +08:00
IP 贴出来啊,如果我是恶意爬虫,我也肯定用 Google 或者百度的 UA
Le4fun
2017-11-22 19:52:26 +08:00
国外用户是不是部分人开了梯子没关访问你的网站
yytsjq
2017-11-22 19:56:48 +08:00
验证 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
2017-11-22 20:00:25 +08:00
你可以去谷歌设置下爬取频率
schema
2017-11-22 20:19:35 +08:00
你说没有海外业务,那关闭国外加速,关闭国外 HTTPS 就好很多了
isCyan
2017-11-22 20:22:53 +08:00
动态资源过 CDN 真的很费钱,动静分离吧
Loyalsoldier
2017-11-22 20:28:07 +08:00
又拍云的 动态资源加速 是所有项目中最贵的。问过客服,说:只要页面设置缓存超过 1 分钟,就不会被又拍云认为是动态资源。楼主可以试试把不重要的内容缓存 2 分钟……

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

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

登录页面当然不可以缓存……
Loyalsoldier
2017-11-22 21:16:29 +08:00
@wyan453351466 #13

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

是的……缓存只能用在不涉及用户状态变更的页面
wyan453351466
2017-11-22 21:27:47 +08:00
@Loyalsoldier 所以就没办法了😂
mcfog
2017-11-22 22:15:23 +08:00
@wyan453351466 动静分离的第一步就是把带状态的内容和静态内容分离啊,静态首页显示未登录的或者空白的头,js 请求登录态后再画头呗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/408635

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX