Post 请帮助:我如何刮这个网页?

Post 请帮助:我如何刮这个网页?,post,coldfusion,scrape,cfhttp,Post,Coldfusion,Scrape,Cfhttp,有一个网站提供搜索服务。输入一个数字,搜索,然后返回结果。我想做的是通过coldfusion以编程方式运行搜索,而不必去站点手动搜索 这就是我想要阅读/刮取的网页中的表单的外观(如查看页面源代码时所示): 输入NUM: 没有照片 其他东西 更多其他东西 我真正关心的唯一字段是Num输入字段。我想向该字段发布一个值,运行搜索,并在我的coldfusion代码中获得结果。这就是我到目前为止所做的: <cfhttp url="http://www.someurl.com/"

有一个网站提供搜索服务。输入一个数字,搜索,然后返回结果。我想做的是通过coldfusion以编程方式运行搜索,而不必去站点手动搜索

这就是我想要阅读/刮取的网页中的表单的外观(如查看页面源代码时所示):


输入NUM:
没有照片
其他东西
更多其他东西
我真正关心的唯一字段是Num输入字段。我想向该字段发布一个值,运行搜索,并在我的coldfusion代码中获得结果。这就是我到目前为止所做的:

<cfhttp url="http://www.someurl.com/"
        method="POST">
    <cfhttpparam name="Num" type="FormField" value="123456789123456" />
</cfhttp>
<cfdump var="#cfhttp.filecontent#" />


但当我转到页面时,转储文件只会显示“
连接失败”
”。我做错了什么?

好的,这个网站提出了一个解决方案:

他们建议添加以下cfhttpparam标记:

<cfhttpparam type="header" name="accept-encoding" value="deflate;q=0">
<cfhttpparam type="header" name="te" value="deflate;q=0"> 


现在我不再出现连接故障:)

从示例代码中不清楚提交操作URL是什么?它是空白的。也许网站是用JavaScript等来设置的

您可能还需要发布
displayType
form变量,因为这是一个复选框,可能需要提供一些值


当心屏幕刮擦——这可能是维护的噩梦。如果真的需要使用他们提供的官方API,你应该这样做,因为一旦他们更改了他们的代码(张贴URL/标记等),你的代码很可能会崩溃

请看一看:撇开技术问题不谈,我会对删除网站保持警惕。结构上的变化可能会损坏刮板。网站的使用条款可能会禁止这样做,特别是如果你这样做不仅仅是为了个人使用。最后,如果你在没有节流阀的情况下敲打站点,可能会导致意外的高负载。这是一个IIS的东西,我们工作的ColdFusion服务器都是IIS,所以当我们第一次遇到这个问题时,它让人毛骨悚然。
<cfhttpparam type="header" name="accept-encoding" value="deflate;q=0">
<cfhttpparam type="header" name="te" value="deflate;q=0">