使用Guzzle从html中提取信息

时间:2014-12-02 14:02:50

标签: symfony xpath web-crawler guzzle

我正在尝试使用以下代码提取车辆ID:

    $client = new Client();
    $request = $client->get('http://www.truck1.eu/_TEN_auto_1522980_Truck_Chassis_MAN_TGA_18_320_BL_Platou_9_80m_lang_manuelles_Getriebe_Euro_4_Motor.html',  ['allow_redirects' => false]);

    $html = $request->getBody(true);

    $crawler = new Crawler();
    $crawler->addContent($html);
    print $crawler->filterXPath('//*[@id="content"]/div/div[2]/table/tbody/tr[2]/td')->text();

但由于某种原因,我不能让这个工作。我正在使用Symfony的Guzzle和DomCrawler。

1 个答案:

答案 0 :(得分:2)

尝试使用此XPath来抓取td旁边的th,其中包含'车辆ID' label(并避免一些不必要的祖先依赖):

//td[preceding-sibling::th = 'Vehicle ID']