【问题标题】:Unable to scrape particular data from a URL无法从 URL 中抓取特定数据
【发布时间】:2015-08-23 08:06:29
【问题描述】:

我要刮this URL

我为此目的使用 phpQuery 库。

我想从包含一些商品及其价格的链接中抓取#weedmenuPane

问题是,当我抓取 HTML 时,所需的 DIV 不在抓取的 HTML 中。

我已经检查过 Firebug,但它不是来自任何 AJAX 调用。

我认为它是在加载 HTML 后通过某种 JS 操作来的,但我也通过在浏览器中禁用 JS 进行了检查,并且 DIV 在那里,意味着没有任何 JS 操作来。

我想知道它是如何产生的以及它是如何产生的。

这是我尝试过的代码。

 $html = file_get_contents($link, false, $context);
 $html = phpQuery::newDocumentHTML($html);

 echo pq("",$html);

 echo pq("#weedmenuPane",$html)->html() . " here";

【问题讨论】:

  • 请提供一些已经完成您描述的部分的代码。
  • 好的。我只发布了相关代码.....并且echo pq("",$html); 有整个页面的HTML,但没有所需的DIV......第二个echo 显然是空的
  • 只需转储 html 并查看它或通过 Fiddler 样式的调试代理进行连接。

标签: javascript php jquery phpquery


【解决方案1】:

所以,我已经下载了 phpQuery 并用你的 url 写了一个小测试。

这个:

<?php

require 'phpQuery-onefile.php';

$url= "https://weedmaps.com/deliveries/green-door-west";
$HTML = file_get_contents($url);
$pq = phpQuery::newDocumentHTML($HTML);
$div = pq('#weedmenuPane', $pq);
echo $div; // Content of #weedmenuPane
// or with your code
echo pq("#weedmenuPane", $pq)->html() . " here";
?>

返回#weedmenuPane DIV 的内容。

因此请尝试使用此代码或向我展示您的代码,我们会找到您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 2020-07-02
    • 1970-01-01
    • 2018-08-25
    • 2023-03-10
    相关资源
    最近更新 更多