簡體   English   中英

PHP DOM解析器中斷頁面並且無法加載頁面內容

[英]PHP DOM parser breaks the page and can't load page content

我創建了一個PHP分析器,該分析器必須在span標簽中提取價格,但是當我回顯$ html以便看到頁面的加載方式時,它顯示了一個沒有內容的損壞頁面。 而是僅加載頁眉和頁腳,而不加載內容。 內容似乎是通過JavaScript從外部加載的,我的問題是如何使用Dom加載html頁面,以便也加載JavaScript? 我需要讓整個內容加載,以便獲得div和span。 這是我的代碼:

<?php

require_once('simple_html_dom.php');

$url = 'http://oldnavy.gap.com/browse/product.do?cid=99570&vid=1&pid=714649002';

$dom = new domDocument('1.0', 'UTF-8');
$html = file_get_html($url);

echo $html;

if(is_object($html)){

    foreach ( $html->find('span#priceText') as $data){

        $raw_price = $data->innertext;

        echo $raw_price;


    }
 }
?>

替代方法

您實際上正在尋找的鏈接(以他的最小表達方式)是: http : //oldnavy.gap.com/browse/productData.do?pid=714649

現在使用curl加載它,將一個值添加到unknownShopperId cookie中,將其分解為一個數組並獲得所需的價格:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "http://oldnavy.gap.com/browse/productData.do?pid=714649");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: unknownShopperId=E853DA3B2607DDAA5F2FE13CE8D32ACF"));

$result = curl_exec($ch);
$explode = explode(',', $result);

echo 'Original price: ' . $explode[92] . '<br/>' .
'New price: ' . $explode[93] . '<br/>' .
'Both prices: ' . $explode[13];

結果將是: '$14.94'

從現在開始,如果您需要另一個價格,您必須知道intem的pid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM