答案 0 :(得分:0)
有两种简单的方法可以显着减少爬网您网站的机器人数量:
在您的根目录中放入robots.txt文件。这为机器人提供了指导。这将阻止许多bot,但不会阻止伪装成真实用户的bot(这就是Cloudflare之所以如此出色的原因,因为它确实阻止了几乎所有不良的bot。但是,robots.txt通常就足够了。例如,您是否想要阻止您使用的特定目录中的所有漫游器:
用户代理:*
不允许:/
这将阻止所有机器人,包括Google之类的合法机器人。除了站点的admin目录或其他一些目录之外,通常不需要这样做。
以下内容将完全阻止Googlebot:
User-agent: Googlebot
Disallow: /
鉴于上一个示例,您需要分析您的Google Analytics(分析)数据并查找可疑的用户代理,并使用代理名称从上方替换Googlebot。
答案 1 :(得分:0)
有很多技术可以防止从网站爬网。 如果要爬网该站点,则应使爬网程序像人一样。
1)在请求之间随机设置睡眠时间
2)在每个请求处设置随机用户代理
3)您可以通过代理服务器进行爬网
通过分析http流量来爬网该站点也有不同的事情。
答案 2 :(得分:0)
啊……在这种情况下,您需要使User-Agent变得不那么明显和标准。这会欺骗一些网站。例如,Firefox使用:Mozilla / 5.0(Windows NT 10.0; Win64; x64; rv:77.0)Gecko / 20100101 Firefox / 77.0
更聪明的人或使用Cloudflare的人会认出您是假货。因此,您将需要使用UIPath或Selenium之类的东西来模仿人类。真的没有别的办法欺骗像亚马逊这样的大个子。您可以使用他们的API来获取最有可能获得的数据,但这有其局限性。
* NB:我之所以留下我以前的答案,仅仅是因为我确信人们会用谷歌搜索这个,并想知道如何限制某些机器人。这更直接地回答了OP的问题。