首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >爬虫被卡在Drupal中的强制性agecheck页面上。

爬虫被卡在Drupal中的强制性agecheck页面上。
EN

Stack Overflow用户
提问于 2009-08-19 10:18:15
回答 2查看 400关注 0票数 0

我们在drupal中建立了一个大型社区网站,在您访问该网站的内容之前,该网站有一个强制性的agecheck。

它检查一个cookie是否存在,如果没有,您将被重定向到agecheck页面。

现在我们相信爬虫者会被困在这个部分,他们会被重定向到阿格切克,永远不会爬上完整的网站。

以前有人吃过这个吗?处理这种事情最好的方法是什么?

砂光机

编辑

很抱歉,现在我要说的是,爬虫的一个问题是,当社区中的某个人在他的脸书上贴了什么东西时,facebook会把这个页面爬回来来获取图片和描述(这些图片和描述是在元标签中指定的),但是facebook也会被重定向到agecheck页面。如果我添加facebook爬虫,用户代理检查会起作用吗?如果是这样的话:那么会有人知道facebook爬虫的确切名称吗?

下面的解决方案是我们在网上也遇到了一个十字架。如果将facebook爬虫添加到列表中,那么它将解决我们在这个agecheck页面上遇到的所有问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-19 10:22:43

您可以检查用户代理,如果是爬虫,则不检查浏览器/用户是否具有所需的cookie。

这里是一个示例:

代码语言:javascript
运行
复制
function crawlerDetect($USER_AGENT)
{
    $crawlers_agents = ‘Google|msnbot|Rambler|Yahoo|AbachoBOT|accoona|AcioRobot|ASPSeek|CocoCrawler|Dumbot|FAST-WebCrawler|GeonaBot|Gigabot|Lycos|MSRBOT|Scooter|AltaVista|IDBot|eStyle|Scrubby’;

    if ( strpos($crawlers_agents , $USER_AGENT) === false )
       return false;
}

// example

$crawler = crawlerDetect($_SERVER[’HTTP_USER_AGENT’]);

if ($crawler )
{
   // it is crawler, it’s name in $crawler variable
}
else
{
   // usual visitor
}
票数 2
EN

Stack Overflow用户

发布于 2009-08-20 00:55:46

加里·基思有一个php类,您可以使用它来检查访问者的所有属性(例如浏览器或爬虫),而且这个类还会定期自动更新浏览器和爬虫的详尽的ini文件。还有一个drupal模块,虽然我还没有试过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1298955

复制
相关文章

相似问题

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