Symfony DomCrawler没有输出任何内容


Symfony DomCrawler is not outputing anything

这是我使用的代码

$client = new Client();
$requests = [
$client->createRequest('GET', 'http://httpbin.org'),
$client->createRequest('GET', 'http://httpbin.org')
];
$options = [
'complete' => [
    [
        'fn' => function (CompleteEvent $event) {
            $crawler = new Crawler('GET',  $event->getRequest()->getUrl());
            echo '<p>'.$crawler->filter('title')->text().'</p>';
        },
        'priority' => 0,
        'once'     => false
    ]
  ]
];
$pool = new Pool($client, $requests, $options);
$pool->wait();

它没有给出错误,但也没有输出任何内容。我已经尝试替换URL,但仍然没有得到任何输出。

代码示例的主要问题是Symfony'Component'DomCrawler'Crawler对象的实例化。正如目前所写的,"GET"是$crawler的唯一内容;因此对CCD_ 3的调用返回包含空DOMNodeList的CCD_。这就是您的输出为空的原因。

替换:

$crawler = new Crawler('GET',  $event->getRequest()->getUrl());

带有:

$crawler = new Crawler(null, $event->getRequest()->getUrl());
$crawler->addContent(
    $event->getResponse()->getBody(),
    $event->getResponse()->getHeader('Content-Type')
);