繁体   English   中英

如何<a>使用Curl</a>单击<a>标签</a>

[英]How to click on <a> tag using Curl

我如何单击标签然后获取页面内容

我正在使用此脚本获取速卖通页面内容以获取评论

$url = "some link";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_ENCODING, "" );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
   $content = curl_exec( $ch );

链接到以下标签后,Aliexpress反馈会使用Javascript获取评论

  <li data-trigger="feedback" data-role="trigger" class="ui-switchable-trigger">
    <a href="javascript:;" data-spm-anchor-id="2114.10010108.0.0">Feedback (27)</a>
  </li>

如果可以的话,你能指导我吗

您可以做的是使用curl获取页面内容,然后在获取内容后,获取所需标签的标签href属性值,然后在该href链接上运行另一个curl函数以获取标签的页面内容。

编辑 @Phil是正确的。 您将必须使用curl来获取data-spm-anchor-id值。 但是,首先,您需要在您单击链接后查看lbrowser的检查器中的网络,以查看他们如何生成链接来获取带有该data-spm-anchor-id 然后,您可以抓取data-spm-anchor-id并将其塞入URL(单击链接后从浏览器的网络获取),然后可以再次使用curl。

您尝试获取的页面正在使用JavaScript加载内容。

使用file_get_contents 不会运行 JavaScript代码,因此除非触发了可能涉及其他动态请求的单击,否则您将无法获取href数据。

Selenium是一种受控的Web浏览器,因此它可以读取/获取动态内容,因此可能会帮助您。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM