我在PHP中使用file_get_contents。在下面的代码在URL工作良好,但价格不显示。这是电子商务页面的url。在那一页有价格和产品信息。我正试图使用file_get_contents函数获取信息,但价格未在该页中显示。
$link = 'http://www.jkeats.com/search?q=kbu12';
$violation = file_get_contents($link);
print_r($violation);
看起来你需要做几件事…
你已经完成了第一部分,你有一个产品代码,你获取包含信息的页面。
在您获取的页面上,您的代码是:kbu12,但该页面对页面:http://www.jkeats.com/getprice进行ajax调用这是一个POST请求与一堆会话头和一个变量名为"项目"的值:KR-S-KBU12
新的商品代码可以从初始页面中删除,但是价格本身需要来自对getprice页面和会话参数和"item"变量的新调用。如果你可以访问所有的"项目"代码,以及它们如何映射到你的初始代码"kbu12",这将会有所帮助。
总结一下:
-获取包含会话/cookie的第一页的HTML。你需要使用curl或url获取库。
-解析HTML获取新的"item"代码
-通过post (curl/library)获取html到getprice页面,并解析结果为您的价格
如果您查看您试图从中拉出的站点上的代码,您将看到在加载DOM之后通过Javascript添加了价格部分。将<div class="pcell"> </div>
替换为价格信息。在PHP中没有办法得到价格