相关疑难解决方法(0)

检测网页抓取的方法

我需要在我的网站上检测信息的抓取.我尝试了基于行为模式的检测,虽然相对计算量很大,但似乎很有希望.

基础是收集某个客户端的请求时间戳,并将它们的行为模式与常见模式或预先计算的模式进行比较.

更准确地说,我将请求之间的时间间隔收集到数组中,按时间函数索引:

i = (integer) ln(interval + 1) / ln(N + 1) * N + 1
Y[i]++
X[i]++ for current client
Run Code Online (Sandbox Code Playgroud)

其中N是时间(计数)限制,丢弃大于N的间隔.最初X和Y用1填充.

然后,在我在X和Y中得到足够数量之后,是时候做出决定了.标准是参数C:

C = sqrt(summ((X[i]/norm(X) - Y[i]/norm(Y))^2)/k)
Run Code Online (Sandbox Code Playgroud)

其中X是某些客户数据,Y是公共数据,norm()是校准函数,k是归一化系数,取决于规范()的类型.有3种类型:

  1. norm(X) = summ(X)/count(X), k = 2
  2. norm(X) = sqrt(summ(X[i]^2), k = 2
  3. norm(X) = max(X[i]), k is square root of number of non-empty elements X

C在范围(0..1)内,0表示没有行为偏差,1表示最大偏差.

类型1的校准最适合重复请求,类型2用于重复请求,间隔很少,类型3用于非常量请求间隔.

你怎么看?如果您在服务上尝试这一点,我将不胜感激.

security algorithm screen-scraping detection

11
推荐指数
1
解决办法
8966
查看次数

如何阻止不良身份不明的机器人抓取我的网站?

我怎样才能抵制那些糟糕的身份不明的机器人抓取我的网站?一些名字在Apache的cPanel中不存在的坏机器人正在严重访问我的网站带宽.

我曾在batgap.com/robots.txt上尝试过robots.txt,并且还使用.htaccess阻止了,但带宽使用情况没有改善.我不知道那些机器人的IP因此无法通过IP地址阻止它们.这些机器人消耗了太多的站点带宽,因此我需要从服务器增加它.

search-engine bots

6
推荐指数
1
解决办法
6177
查看次数

可以检测页面抓取吗?

所以我刚创建了一个为我进行页面抓取的应用程序,然后运行它.它工作正常.我想知道是否有人能够弄清楚代码是否被页面抓取,无论他们是否为此目的编写代码?

我在java中编写了代码,它只是检查一行html代码.

在我将更多代码添加到此程序之前,我想我会对此有所了解.我的意思是它很有用,而且它几乎就像一个黑客.

看起来像最糟糕的情况,因为这个页面刮板不是太糟糕,因为我可以稍后使用另一个设备,IP将是不同的.也可能在一个月内无关紧要.该网站目前似乎正在获得相当多的网络流量.编辑页面的人现在可能已经睡着了,此时它实际上还没有完成任何事情,所以这可能会被忽视.

感谢您的快速回复.我想它可能已被忽视了.我所做的只是复制一个标题,所以只是文字.我想这可能类似于浏览器复制粘贴的工作原理.该页面刚刚在今天早上编辑,包括我试图获得的文字.如果他们确实注意到了什么,他们还没有宣布,所以一切都很好.

html java web-scraping

3
推荐指数
2
解决办法
3590
查看次数