我们一些大数据量的网站总是沦为爬虫获取信息的对象,导致大量消耗服务器资源。有些爬虫是为了采集整个网页,也有些只来找寻邮箱等联系方式信息。
前段时间发现有一阵爬虫特别多,从apache日志里面看到这样的特征:
115.151.110.238 - - [14/Jul/2018:18:03:01 +0800] port:443 "liaoning.mingluji.com" "GET /%E5%AE%89%E5%BE%BD%E5%A5%BD%E6%80%9D%E5%AE%B6%E6%B6%82%E6%96%99%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%E9%98%9C%E6%96%B0%E5%88%86%E5%85%AC%E5%8F%B8 HTTP/1.1" 403 236 "http://www.baidu.com/s?wd=%BD%F5%D6%DD%CA%D0+%CD%BF%C1%CF+%B9%AB%CB%BE+%D3%CA%D6%B7+qq.com&rn=10&pn=240&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 115.210.52.33 - - [14/Jul/2018:18:03:02 +0800] port:443 "amp.foreign.mingluji.com" "GET /KISS_N_TELL_SPORTSWEAR_INC. HTTP/1.1" 403 202 "http://www.baidu.com/s?wd=%C3%BC%C9%BD%CA%D0+%C8%CB%D4%EC%B8%EF+%B9%AB%CB%BE+EMail+msn.com&rn=10&pn=20&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 14.120.120.139 - - [14/Jul/2018:18:03:03 +0800] port:443 "guangdong.mingluji.com" "GET /%E5%8D%97%E6%B5%B7%E5%B8%82%E9%BB%84%E5%B2%90%E8%BE%BE%E6%88%90%E5%8C%96%E5%B7%A5%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8%E8%8D%86%E9%97%A8%E8%9C%A1%E5%88%B6%E5%93%81%E5%8E%82 HTTP/1.1" 403 251 "http://www.baidu.com/s?wd=%C9%C7%CD%B7%CA%D0%E5%A9%BD%AD%C7%F8+%C5%D7%B9%E2%C0%AF+%B9%AB%CB%BE+%D3%CA%D6%B7+google.com&rn=10&pn=0&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 115.151.110.238 - - [14/Jul/2018:18:03:03 +0800] port:443 "liaoning.mingluji.com" "GET /%E6%9C%AC%E6%BA%AA%E7%BB%8F%E6%B5%8E%E5%BC%80%E5%8F%91%E5%8C%BA%E6%9E%AB%E5%8F%B6%E6%B6%82%E6%96%99%E5%8E%82 HTTP/1.1" 403 227 "http://www.baidu.com/s?wd=%BD%F5%D6%DD%CA%D0+%CD%BF%C1%CF+%B9%AB%CB%BE+%D3%CA%D6%B7+qq.com&rn=10&pn=240&usm=1&rsv_page=1" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
上面标出的红色为一些email的后缀,另外还有126.com、21cn等,刚开始我们还不了解,后来详细分析受访页面以及来源网址后,基本摸清这是专门来获取email等联系方式的爬虫。其referer是百度搜索多年前的网址,现在百度早就不用http方式的搜索了,而是几年前改为https的搜索。
我们针对这种爬虫的特征使用正则表达式进行了屏蔽,可以在.htaccess里面增加:
RewriteCond %{HTTP_REFERER} ^http:\/\/www\.baidu\.com.{30,50}.*page=1$ [NC] RewriteRule .* - [F]
需要说明的是,这种爬虫特别顽固,IP很分散,有很大的IP池可以更换,应该是有组织的公司或者机构,单独封IP很难封,而采用上面的方式匹配REFERER可以全部屏蔽。
但这种爬虫也很傻和无赖,即使我们屏蔽了几个月,爬虫都被拒绝了一无所获,却依然不间断地来访,说明这种爬虫是非常大量地在国内互联网上爬取,即使在很多网站被屏蔽了也不影响它继续爬其它的,另一个问题是这种爬虫的维护机构有问题,很多年没有更改过策略,导致大量浪费他们自己和别人的网络资源,真是损人不利己!国内互联网行业be evil的人太多🤬
评论