【发布时间】:2013-01-17 06:06:01
【问题描述】:
不管我使用的是 Firefox 还是 GoogleBot,网站仍将我视为机器人。
我正在尝试使用 Goutte 创建一个爬虫。该网站有一个针对爬虫的阻止系统,但我不知道如何避免它。这是我当前的代码:
require_once 'includes/goutte.phar';
use Goutte\Client;
$client = new Client();
$client->setHeader('User-Agent', "Googlebot");
$crawler = $client->request('GET', 'http://www.example.com');
echo $crawler->filter('')->text();
如您所见,我已经更改了用户代理,并且我已经通过爬取记录用户代理的本地文件测试了它是否正确更改。
网站仍然以某种方式将我识别为机器人。有什么想法吗?
【问题讨论】:
-
您正在使用 UA 字符串“googlebot”并想知道它如何知道您是机器人?常识:零。
-
@Kolink - 这有点苛刻......不,你是对的:)
-
我用什么都没关系。
-
如果网站是智能的,它将使用白名单的方式来批准非机器人。如果您使用有效的 UA,但它仍然失败,它可能正在寻找另一条信息(例如 cookie)。听起来他们不想被抓取。
-
确保您的客户端正在接受 cookie 并将它们与后续请求一起发回。除此之外,请联系该站点的管理员并询问。他们可能出于某种原因阻止机器人。
标签: php symfony web-crawler goutte