这是当前的代码,我为了检索特定产品的尺寸,但是当一个项目有多个下拉菜单,例如这个颜色的下拉菜单。您必须先选取颜色,然后再检索该颜色的尺寸。我将需要检索两组数据;颜色和大小。如何从使用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