如何点击<a> tag using Curl

时间:2017-08-18 01:14:22

标签: javascript php curl

how can I click on tag and then get the page content

I'm using this script to get aliexpress page content to fetch the comments

$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 feedback fetch the comments using Javascript after clinking on the following tag

  <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>

Can you guide me if possible

2 个答案:

答案 0 :(得分:0)

你可以做的是使用curl获取页面内容,然后一旦你有内容获得你想要的标签的标签的href值,然后在该href链接上运行另一个curl函数来获取标签的页面内容。

修改 @Phil是对的。您必须使用curl取data-spm-anchor-id值。但是,首先,您需要在点击链接后查看lbrowser检查器中的网络,了解他们如何生成链接以获取具有该data-spm-anchor-id的页面。然后你可以抓取data-spm-anchor-id并将其塞进一个URL(你点击链接后从浏览器的网络获得),你可以再次使用curl。

答案 1 :(得分:0)

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

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

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