2012-08-17 114 views
0

我必须从通过多次提交网站提取数据,并将这必须自动完成......流程如下...使用PHP卷曲从多个网站提取数据提交

  1. 转到此页面... http://www.licindia.in/premium_calculator.htm。
  2. 选择一些内容然后提交。这将带我到一个表格
  3. 填写表格并提交它...
  4. 获取生成的html。并提取数据。

我以前用curl远程登录网站,但无论如何,我似乎无法得到这个工作。

$url="http://www.licindia.in/premium_calculator.htm"; 
$postdata = "thepostdata" 
$cookie = "cookie.txt" ; 
$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, $url); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0"); 
curl_setopt($ch,CURLOPT_COOKIESESSION,false); 
curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_REFERER, $referer); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 
curl_close($ch); 

像这样的事情我已经尝试...这不是实际thing..but这是类似

+0

m真的很抱歉因为我现在无法发布代码,因为我已经在家里尝试过了。现在m在工作场所..但是啊..我写了一个脚本,声明表单提交所需的sbumit url和表单数据。然后我允许在curl中重定向,这样它给了我新的页面。 – 2012-08-17 12:54:12

+0

你忘了你的脚本回家吗?哦,你不能重拍吗? – 2012-08-17 12:55:53

+0

好耶..我可以做到这一点,但它需要时间..你可以看到,如果你检查他们的形式是如此充分的JavaScript的url,他们提交使用JavaScript加形式数据,需要准备之前执行卷曲会是复杂的结构..多数民众赞成它..plus有一个问题的会议 – 2012-08-17 13:04:13

回答

1

我想你的第一个问题是,您链接实际上是从加载网页上的表格一个iframe

您会想要使用iframe的url,因为cURL不会从父页面加载iframe srouce。

+0

感谢您的信息。我忽略了这一点。但现在如果你已经看到了页面和iframe部分,你能告诉我是否可以使用curl从那里获取数据吗?有jsession id ...以及隐藏字段,其中包含我不知道的另一个加密数据。 – 2012-08-18 08:50:56