一般情况下挂一个robots.txt设置一般能够防住的,不过想防广义的爬虫后面还有其他办法。
robots.txt文件如下:
User-agent: *
Disallow: /
感觉上面不保险,就再套一个meta头。
<meta name="robots" content="noindex, nofollow">
其实上面方面方法只能防君子,不能防小人。
现在一般都流行用反爬虫机器人(Anti-Bot)
Anti-Bot 技术是一种用于识别和阻止自动化程序(如爬虫或机器人的)访问的技术。其目的是保护网站的内容、资源和数据免受未经授权的抓取、滥用或攻击。
挂一个Anti-Bot基本搞定一堆。一般比较知名品牌的有Cloudflare Bot Management,DataDome,PerimeterX,Akamai Bot Manager,Distil Networks (Imperva)
下面以DataDome为例,详细说一下,其实调用很简单。
在node.js上安装SDK
npm install @datadome/datadome
代码例子
const express = require('express');
const DataDome = require('@datadome/datadome');
const app = express();
const datadome = new DataDome({
apiKey: 'YOUR_API_KEY',
});
app.use(datadome.middleware);
app.get('/', (req, res) => {
res.send('Hello, human!');
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
基本上能抗住大多数恶意爬虫。