首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正试图用Perl的机器登录到我的退休帐户,它检测机器人

我正试图用Perl的机器登录到我的退休帐户,它检测机器人
EN

Stack Overflow用户
提问于 2014-07-24 04:07:51
回答 2查看 1.1K关注 0票数 1

返回的页面只能在文本编辑器中查看,如下所示:

代码语言:javascript
复制
<html style="height:100%">
  <head>
    <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
    <meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <script type="text/javascript" src="/_Incapsula_Resource?SWJIYLWA=2977d8d74f63d7f8fedbea018b7a1d05"></script>
  </head>
  <body style="margin:0px;height:100%">
    <iframe src="/_Incapsula_Resource?CWUDNSAI=23&xinfo=8-12690372-0 0NNN RT(1406173695342 164) q(0 -1 -1 -1) r(0 -1) B12(4,315,0) U10000&incident_id=257000050029892977-66371435311988824&edet=12&cinfo=4b6fe7bcc753855a04000000" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: 257000050029982977-66371435131988824</iframe>
  </body>
</html>

我正在perl中执行以下操作:

代码语言:javascript
复制
# Suddenly web robot.
my $mech = WWW::Mechanize->new();
$mech->agent_alias('Mac Safari');

他们是怎么发现的?它不能仅仅来自用户代理字符串,我不认为。有什么办法绕过这件事吗?我没有做什么讨厌的事,只是想下载我的退休账户储蓄,而不必手动下载。

我看到了一些关于如何尊重robots.txt的结果,但是对于如何逃避检测却没有任何结果。

通过Chrome浏览页面,他们似乎以某种方式使用了这些家伙:

http://www.incapsula.com/website-security/

有人有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-07-24 07:12:06

我建议您使用一种可以让您劫持浏览器进行自动化的替代方法。

这有一个副作用,它将使您能够使用Javascript,这可能是本网站的一个要求无论如何。

有两种选择:

  1. WWW::Mechanize::Firefox --像使用WWW::Mechanize一样使用火狐
  2. Selenium远程驱动程序的Selenium::Remote::Driver - Perl客户端
票数 2
EN

Stack Overflow用户

发布于 2014-07-24 04:10:47

它使用Bot Agent Detection技术。

Bot代理检测是为了识别执行站点抓取的最常见的bot代理,并阻止它们造成任何进一步的伤害。为此,使用了各种先进的软件,自动区分机器人和实际的人类用户。您提到的站点正在使用来自incapsula的一些软件来检测机器人。我建议:如果不允许使用,就不要尝试刮取数据。他们可能会通过JavaScript设置一些饼干,而这些饼干不会被机械设备捡到。

请参阅:利用Plack中间件检测机器人和蜘蛛如何防止站点刮伤?

绕过的提示:

  1. 尝试添加对sleep的调用,以防止触发机器人检测代码。
  2. 使用LiveHTTPHeaders查看浏览器提交的内容并进行复制。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24924954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档