我的博客用的 Nginx 做服务器,我用 Python 写了个日志过滤器,目的是把所有搜索引擎、网络爬虫等流量过滤掉,只展现普通用户的访问。Nginx 的日志记录主要分为如下几种:
- 普通用户
- DNSPod
- 搜索引擎
- RSS 订阅
上面这几种可以从 User-Agent 分辨出来。但有些 IP,我在 ipip.net 上查询,发现指向一些机房,并说明是机器人,像这种该怎么过滤出来呢?
大家有什么思路,欢迎分享。

我的博客用的 Nginx 做服务器,我用 Python 写了个日志过滤器,目的是把所有搜索引擎、网络爬虫等流量过滤掉,只展现普通用户的访问。Nginx 的日志记录主要分为如下几种:
上面这几种可以从 User-Agent 分辨出来。但有些 IP,我在 ipip.net 上查询,发现指向一些机房,并说明是机器人,像这种该怎么过滤出来呢?
大家有什么思路,欢迎分享。
1 jugelizi Apr 21, 2019 看有没有 js css 的日志 大部分机器还没必要开浏览器 所以一个 IP 重来不请求 js 文件几乎确认是爬虫 |
3 hakono Apr 21, 2019 至于那些采用了 headless 浏览器的爬虫,这就是完全另外的思路了 比如想办法找漏洞,看看能不能检测到浏览器的环境 如果个点比较难,剩下的就是大数据,ai 分析这条路了。看到过几个大公司就有招聘识别用户操作是否合规的 ai 工程师,顺便还能抓外挂 |
4 freemoon Apr 21, 2019 * useragent 是否合法 * 请求频率是否稳定 * 请求路径是否有规律,楼上说的 /book/1,/book/2 这种 * 是否某一段时间有大量 IP 短时高频请求服务器(反常行为) 如果以上都正常,即使是爬虫也不妨碍服务器运行。 |