web - 如何知道我的网站被抓取了?

标签 web web-scraping screen-scraping

如何发现我的网站被抓取?

我有一些观点...

  1. 网络带宽占用,导致吞吐量问题(如果使用代理则匹配)。
  2. 在搜索引擎中查询关键字时,新的引用会出现在具有相同内容的其他类似资源中(如果使用代理则匹配)。
  3. 来自同一 IP 的多次请求。
  4. 来自单个 IP 的高请求率。 (顺便问一下:正常费率是多少?)
  5. headless 或奇怪的用户代理(如果使用代理则匹配)。
  6. 以可预测(相等)的时间间隔从同一 IP 发出请求。
  7. 从不请求某些支持文件,例如。 favicon.ico,各种 CSS 和 javascript 文件(如果使用代理则匹配)。
  8. 客户端的请求序列。前任。客户端访问不可直接访问的页面(如果使用代理则匹配)。

您愿意在此列表中添加更多内容吗?

如果抓取工具使用代理,哪些点可能适合/匹配?

最佳答案

作为第一个注释;考虑一下是否值得为 future 的机器人提供 API。如果您正在被另一家公司/等抓取,如果您想向他们提供信息,那么无论如何,这都会使您的网站对他们有值(value)。创建 API 将大大减少您的服务器负载,并让您 100% 清楚地了解人们对您的抓取情况。

其次,根据个人经验(我创建了相当长一段时间的网络爬虫),通常您可以通过跟踪访问您网站的浏览器立即得知。如果他们使用一种自动化语言或一种开发语言,那么它将与您的普通用户有独特的不同。更不用说跟踪日志文件并更新您的 .htaccess 并禁止它们(如果这就是您想要做的)。

通常情况下,这很容易被发现。重复且非常一致地打开页面。

查看另一篇文章,了解有关如何处理它们的更多信息,以及有关如何识别它们的一些想法。

How to block bad unidentified bots crawling my website?

关于web - 如何知道我的网站被抓取了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31316823/

相关文章:

数字签名的 Java 插件替代品

iis-7 - 在ISAPI筛选器上调用LoadLibraryEx

python - 如何为 python3 中循环创建的每一行添加一个静态值?

python - 使用BeautifulSoup提取元素中的文本

javascript - 将源代码发送到外部服务器

javascript - 用于保存网站文本的书签

python - Django url 变量捕获

javascript - 鼠标悬停在图像的特定部分时图像发生变化

python - Scrapy爬虫进程设置

javascript - 使用cheerio.js进行抓取,得到: Error: Can only perform operation while paused