【问题标题】:PHP run jquery using guzzle frameworkPHP使用guzzle框架运行jquery
【发布时间】:2022-01-04 05:56:52
【问题描述】:

我的 elemenet 在其他站点触发点击时发生了变化。 是否可以使用 php guzzle 运行 jQuery 脚本,然后将新元素值放入我的存储变量中? 这是我的代码

    <?php
# scraping books to scrape: https://books.toscrape.com/
require 'vendor/autoload.php';
$httpClient = new \GuzzleHttp\Client();
$response = $httpClient->get('webpage');
$htmlString = (string) $response->getBody();
//add this line to suppress any warnings
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTML($htmlString);
$xpath = new DOMXPath($doc);

$prices = $xpath->evaluate('//div[@class="price"]//p[@class="our_price_display"]//span[@class="price"]');

foreach ($prices as $key => $price) {
echo $price->textContent . PHP_EOL;
}

【问题讨论】:

    标签: php jquery web-scraping guzzle


    【解决方案1】:

    没有。当您通过 guzzle(或 curl 或其他任何方式)下载内容时,您返回的数据被 php.ini 简单地视为字符串。不存在 JavaScript 执行环境。为此,您需要一个无头浏览器之类的东西。

    【讨论】:

    • 非常感谢。您能否向我解释更多有关“无头浏览器”的信息或举一个视觉示例?再次感谢
    • 是否可以将某些东西与 PHP 集成并将数据发送回我的网页?
    猜你喜欢
    • 1970-01-01
    • 2015-08-06
    • 2020-02-18
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多