如何通过需要POST数据的PHP抓取网站?

我正在尝试抓取一个接收POST数据的网站以返回正确的页面(没有POST它返回15个结果,POST数据返回所有结果).

目前我的代码看起来像这样:

$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,"http://www.thisismyurl.com/awesome");
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, XXXXXX);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result= curl_exec($curl);

我知道我需要将我的postfields放到充满“XXXXXX”的空间中,我只是不知道在哪里挖掘post字段/值以及如何将它们组织成我传入其中的变量.

任何帮助将不胜感激!

解决方法:

如果它是一个简单的表单,那么只需提取所有表单字段并在脚本中复制它们.如果它是一些动态形式,比如javascript构建请求和使用ajax,那么你可以使用开发人员工具(例如Firefox的Firebug Net选项卡,HTTPfox等)来嗅探数据,并在发送后提取帖子数据.

无论哪种方式,一旦你知道正在发送什么字段/数据,其余的应该(相对)容易复制/构建.

上一篇:AcWing 95. 费解的开关


下一篇:使用Python如何快速打开一个百万行级别的超大Excel文件?