這是當前的代碼,我爲了檢索特定產品的尺寸,但是當一個項目有多個下拉菜單,例如這個顏色的下拉菜單。您必須先選取顏色,然後再檢索該顏色的尺寸。我將需要檢索兩組數據;顏色和大小。如何從使用php的外部URL檢索數據?
看來如果我沒有誤認爲這個網站使用JSON結構。
我是一個非常新手學習,而且希望以使用PHP檢索數據下一步該怎麼做指導......
提前感謝! :)
<?php
$doc = new DOMDocument();
@$doc ->loadHTMLFile('http://www.drjays.com/shop/P1543932/');
$xpath = new DOMXPath($doc);
$size = $xpath->query('//*[contains(@class, \'product_dropdown\')]');
foreach ($size as $sizes)
{
echo $sizes->nodeValue .PHP_EOL;
}
?>
更新:我能夠使用Google Chrome(開發人員工具)來檢索此信息。我相信這是確認它實際上是JSON。
"description" : "The Lace Inset Tie Front Woven Top by Apple Bottoms features:\r\n<br>\r\n<ul>\r\n<li> US sizing</li>\r\n<li> Pieced lace accents on shoulders</li>\r\n<li> Metal stud trim</li>\r\n<li> Two chest pockets</li>\r\n<li> Button-down closure</li>\r\n<li> Sleeveless cut</li>\r\n<li> Waist tie on front</li>\r\n\r\n<br>\r\n<b> Model is wearing size 1X</b>\r\n</ul>",
"sizes" : [
{
"id" : "1533783",
"display" : "1X"
},
{
"id" : "
1533785",
"display" : "2X"
}
]
閱讀函數'file_get_contents' –
嗨@moeed,我沒有嘗試使用:$ datadj = json_decode(file_get_contents('http://www.drjays.com/shop/P1543932/'));但是,當我var_dump($ datadj);結果爲NULL – CuriousE
@CuriousE嘗試'var_dump(file_get_contents('http://drjays.com/shop/P1543932'));'。它是否會返回您認爲應該返回的內容?你在這個頁面上放置的JSON是無效的json。它應該在開始處有一個'{',末尾應該有一個'}'。如果是這樣的話,就像'var_dump(json_decode('{'。file_get_contents('http://drjays.com/shop/P1543932/')。'}'));'會返回一個對象。如果你將一些不合法的JSON傳遞給'json_decode',它將返回'NULL'。 – Sumurai8