从需要登录的网站上刮痧?

And*_*ara 4 php

如果是这样,可以这样做,怎么样?我想从xbox.com抓取数据,但我需要抓取的页面只有在成功登录后才能显示.

mar*_*rio 9

大多数登录表单都会设置一个cookie.因此,您应该使用像Zend_Http这样的HTTP类,它可以存储它们以用于进一步的请求.它可能很简单:

$client = new Zend_Http_Client();
$client->setCookieJar();   // this is the crucial part for "logging in"

// make login request
$client->setUri("http://xbox.com/login");
$client->setParameterPost("login", "hackz0r");
$result = $client->request('POST');

// go scraping
...
Run Code Online (Sandbox Code Playgroud)

  • 这个答案是最好的,它实际上回答了OP问题,而不是自命不凡,并告诉他在登录后不是一个好主意.有很多合理的理由要做这件事,例如从公司拒绝摆脱的旧公司工具中​​提取数据 (4认同)