【问题标题】:Retrieve page objects with file_get_contents使用 file_get_contents 检索页面对象
【发布时间】:2017-06-11 23:47:49
【问题描述】:

我已经看到很多关于使用 file_get_contents 从某个页面检索 JSON 对象的问题和解释,但是,如果该对象在页面中有它的实例并且它不是 JSON,该怎么办?

例如:假设有一个名为“www.somedomain.com”的域,并且在该域中有一个名为“person”的对象,它包含“name”、“age”、“heigth”。我导航到这个域 (www.somedomain.com),进入导航器的控制台,输入:'person' 然后回车。完成后,它会向我显示对象及其属性。

Example of the console thing

How the page looks like

我想要做的是检索这个名为“人”的对象。像这样的:

$domain = file_get_contents("someurl.com");
echo $domain->person;

这可能吗?

@编辑

最后,我想我可以这样做:

echo file_get_contents("www.someurl.com"); echo "<script> document.write(person.name); </script>";

由于我对 PHP 不太熟悉,所以我不知道在使用 file_get_contents 后我可以“操纵”域

【问题讨论】:

    标签: php object


    【解决方案1】:

    如果您无法解析 json,则绝对不能使用 file_get_contents。

    似乎你真的不完全理解 - 你在做什么,但仍然 - 有一些解决方案。

    示例 - 就是答案。您实际上必须“导航”到您的域并评估 javascript。

    1. 这样的事情可以使用 Selenium (https://github.com/facebook/php-webdriver) 完成
    2. 您可以尝试查找一些浏览器扩展,例如https://github.com/scraperlab/browserext
    3. 您可以解析网页中的 javascript,并尝试使用 Google V8 引擎对其进行评估,例如 http://php.net/manual/en/book.v8js.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      • 2010-11-06
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多