如何使用Goutte抓取受登录保护的URL(我有登录帐户)

时间:2017-05-17 11:57:50

标签: laravel-5 web-scraping goutte

我在这里发现了类似的问题。 但是我没有得到足够的信息,所以我决定提出新的问题。

让我们假设网址如下。

url1. http://base_url/login
url2. http://base_url/home
url3. http://base_url/target

Note: if I logged in url1, site redirects to url2 after login and
      2 cookies are saved on browser(called CTID, CTP).

我想废弃url3,但登录后可以访问url3。

我写了这样的程序。

use Goutte\Client;
... ...
$client = new Client();
$client->setHeader('User-Agent', "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36");

$crawler = $client->request('GET', 'url1');
$form = $crawler->selectButton('LOGON')->form();
$crawler = $client->submit($form, array('ID' => '***', 'PASS' => '***'));
dump($crawler->html());  //1

$crawler = $client->request('GET', 'url3');
dump($crawler->html());   //2

Instruction1正确输出url2的结果。(表示登录成功。) 一世 但是我无法获得url3的内容。 如何获取url3的内容? 感谢您阅读我的问题。

0 个答案:

没有答案