我正在努力抓一个安全的网站。该网站每天都会更改我想要抓取的数据。这是我的代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.website.com/DisplayData/?field1=1234');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
当我查看$data
中的内容时,我会看到HTML代码,但它没有任何价值。这是我得到的简化版本。
<html>
<body>
<table>
</tr>
<tr class="Table1">
<td class="first-col">Table1</td>
<td id="item1">--</td>
<td id="item2">--</td>
<td id="item3">--</td>
<td id="item4">--</td>
</tr>
</table>
</body>
</html>
我使用Chrome访问网站并使用开发工具。表格中应该有数据。&#39; - &#39;我推断该网站有一些脚本,当浏览器进入页面时添加值。有没有办法使用cURL来获取我想要的数据网站?
答案 0 :(得分:0)
简而言之,没有。 cURL不会在它请求的页面上执行JavaScript。你需要做的事情。考虑类似Selenium或PhantomJS。 *
的内容无论如何,你可能会以错误的方式解决这个问题(参见XY problem)。而不是抓取网站(可能违反网站的条款,在任何情况下技术上都很复杂),为什么不查看网站是否提供某种API或数据Feed?
*免责声明:我与这些项目没有任何关系。