我有一个页面应用程序,其中我使用无头浏览器为网页爬虫服务,给他们一个版本的网页非常接近的实际用户将看到。
目前,我正在将爬虫用户代理白名单给几个: google、facebook、bing、yahoo和linkedin。
我现在希望将其扩展到--针对每个用户代理的更健壮的,而不仅仅是这些。之所以这样做,是因为如果我不接受一个特定的爬虫,他们会看到的都是胡子HTML模板。这对我没好处。
使用巨型用户代理regex是最好的方法吗?对于每一个请求我都要这样做,所以我也需要一些快速的东西.
发布于 2013-07-16 13:52:05
下面是用户代理的列表:http://www.user-agents.org/ (在这里找到:https://webmasters.stackexchange.com/questions/3264/where-can-i-find-a-list-of-search-engine-crawler-user-agents-and-their-domain-na)
如果太多,您可以实现一个布卢姆滤波器 (一个内存高效的解决方案来执行‘如果存在’的测试)。
关于白名单和良好实践,您也可能对此感兴趣:https://meta.stackexchange.com/questions/37231/why-does-the-stack-overflow-sitemap-xml-use-a-user-agent-whitelist-instead-of-a
https://stackoverflow.com/questions/17297624
复制相似问题