首页  >  问答  >  正文

php动态网页抓取

<p>我正在尝试 chrome-php/chrome 库来读取动态渲染的网页,但它没有返回任何内容。我使用的是 php 8.0 版本。</p> <p>这就是我已经实现的[我已遵循文档]-</p> <pre class="brush:php;toolbar:false;">use HeadlessChromium\BrowserFactory; $browserFactory = new BrowserFactory(); // starts headless chrome $browser = $browserFactory->createBrowser('/opt/google/chrome/chrome'); try { // creates a new page and navigate to an URL $page = $browser->createPage(); $page->navigate('http://example.com')->waitForNavigation(); // get page title $pageTitle = $page->evaluate('document.title')->getReturnValue(); echo $pageTitle; } finally { // bye $browser->close(); }</pre> <p>它没有返回我正在尝试读取的网址的标题。你能帮我调试这个问题吗?</p>
P粉311089279P粉311089279435 天前531

全部回复(1)我来回复

  • P粉842215006

    P粉8422150062023-09-02 10:50:54

    在进行修改之前,将其放在您的脚本中以使其显示错误:

    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);

    错误可能出在这一行: 此方法不接受字符串。

    $browser = $browserFactory->createBrowser('/opt/google/chrome/chrome');

    您必须将 google chrome 可执行文件传递到:

    $browserFactory = new BrowserFactory('/opt/google/chrome/chrome');

    或者将其留空,系统将使用默认位置:

    $browserFactory = new BrowserFactory();

    回复
    0
  • 取消回复