请帮忙:我该如何抓取这个网页?

有一个网站提供搜索服务。输入数字,搜索,然后返回结果。我想要做的是通过coldfusion以编程方式运行搜索,而不必手动搜索网站。 这就是我想要阅读/抓取的网页中的表单(如查看页面源时所见):
<form id="frmNumID" name="frmNum" action="" method="post">

    <TABLE border=0 cellPadding=0 cellSpacing=0>
     <TR>
      <TD align="center">
         <label class="NumLabel" for="Num" ACCESSKEY="1">ENTER NUM:</label>
        <input class="NumInput" id="Num" name="inputNum"  onfocusin="select()"  title="Num Input" tabindex="1" type="text" value=""  size ="29" maxlength="17" >&nbsp;&nbsp;

      </TD>

      <TD align="center">
         <input class="NumInput" title="Submit Num" tabindex="2" type="image" src="/include/pics/SubmitBtn.jpg" value="submit" ACCESSKEY="2">
      </TD>
     </TR>
     </TABLE>

     <TABLE border=0 cellPadding=0 cellSpacing=0>
     <TR>    
      <TD colspan="2" align="center">

        <input type="radio" name="displayType" value="NONE"   Checked  />No Pictures&nbsp;&nbsp;                          
        <input type="radio" name="displayType" value="STUFF"    /> Other Stuff&nbsp;&nbsp;                
        <input type="radio" name="displayType" value="MORESTUFF"    /> More Other Stuff  
      </TD>
     </TR>

    </TABLE>
    <div id="NUMMsg"></div>

  </form>
我真正关心的唯一字段是Num输入字段。我想在该字段中发布一个值,运行搜索,并在我的coldfusion代码中获取结果。这是我到目前为止:
<cfhttp url="http://www.someurl.com/"
        method="POST">
    <cfhttpparam name="Num" type="FormField" value="123456789123456" />
</cfhttp>
<cfdump var="#cfhttp.filecontent#" />
但是当我进入页面时,转储只是说“
Connection Failure
”。我究竟做错了什么?     
已邀请:
您的示例代码中不清楚提交操作URL是什么?这是空白的。也许该网站使用JavaScript等设置它? 您可能还需要发布
displayType
表单变量,因为这是一个复选框,可能需要提供一些值。 当心屏幕抓取 - 它可能是一个维护噩梦。如果无论如何使用他们提供的官方API,你应该这样做,因为一旦他们更改了他们的代码(发布URL /标记等),你的代码就可以很好地破解。     
好的,这个网站提出了一个解决方案:http://australiansearchengine.wordpress.com/2009/09/28/cfhttp-connection-failure/ 他们建议添加以下cfhttpparam标记:
<cfhttpparam type="header" name="accept-encoding" value="deflate;q=0">
<cfhttpparam type="header" name="te" value="deflate;q=0"> 
现在我不再连接失败了:)     

要回复问题请先登录注册