【问题标题】:How to find out my site is being scraped?如何找出我的网站正在被抓取?
【发布时间】:2015-09-27 18:56:45
【问题描述】:

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

我有几点...

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

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

如果刮板使用代理,哪些点可能适合/匹配?

【问题讨论】:

  • 相关:Can page scraping be detected?The way to detect web scraping。基本上很难确定,因为他们使用不同的方法来混淆。
  • 根据个人经验 - 单个 IP 访问您网站的速度将非常广泛地基于您的网站。例如,我曾经创建了一个网站,平均每天访问一次并且只查看几页(因为我们每天只发布一次信息)。其他网站(比如论坛,或动态更新的网站,其中经常发布大量信息),您可能会期待更多随机访问。或者,如果您的网站是一致的,它会非常罕见 - 可能每天 1-2 次,然后下降。
  • 您能解释一下为什么要检测刮板吗?大多数网站都赞成它 - 抓取正是您进入搜索引擎的方式。如果您打算阻止它,您是否尝试过机器人排除协议?
  • 我会将国家添加到该列表中。如果你突然看到来自中国的流量激增,即使它来自 1000 个不同的 IP 地址,那么你就会被刮掉。在这种情况下,IP 阻止和蜜罐可能会有所帮助。
  • @halfer,我问它是因为我想写一篇关于这个主题的文章。我的目的是在该主题上获得更多分数。许多网站所有者担心数据隐私、所有权和类似的事情。您能解释一下“机器人排除协议”吗?

标签: web web-scraping screen-scraping


【解决方案1】:

作为第一个注释;考虑是否值得为未来的机器人提供 API。如果您被另一家公司/等抓取,如果这是您想提供给他们的信息,那么它会使您的网站对他们有价值。创建 API 将大大减少您的服务器负载,并让您 100% 清楚地了解抓取您的人。

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

它通常很容易被发现。重复、非常一致地打开页面。

查看其他帖子,了解有关如何处理它们的更多信息,以及有关如何识别它们的一些想法。

How to block bad unidentified bots crawling my website?

【讨论】:

  • 感谢'making API' to spare bandwidthconsistent opening of pages
【解决方案2】:

我还会添加对同一人何时提出请求的分析。例如,如果相同的 IP 地址每天在同一时间请求相同的数据,则该过程很可能是自动安排的。因此很可能是刮...

可以添加分析每个用户会话影响了多少页面。例如,如果某个特定用户在某一天浏览了您网站中的每个页面,而您认为这很不寻常,那么可能是另一个指标。

感觉就像您需要一系列指标并且需要对它们进行评分并结合得分以显示最有可能抓取的人。

【讨论】:

  • 感谢analysis of when the requests by the same client are madescoring the indicatiors to calculate final value 的建议。
猜你喜欢
  • 2018-07-08
  • 1970-01-01
  • 1970-01-01
  • 2017-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
相关资源
最近更新 更多