2011-05-13 42 views
0

我要爬网/报废具有形式 要精确以下网页的网址是爬行/报废搜索表单网页

http://lafayetteassessor.com/propertysearch.cfm

的问题是,我想打一个搜索并将结果保存在网页中。 1.我的搜索字符串将始终提供一个独特的页面,所以结果数量不会成为问题。 2.在那里搜索不搜索网址(例如谷歌搜索网址包含要搜索的参数)。我如何从起始页面搜索(如上)并获得结果页面?

请给我一些想法。 我正在使用C#/ .NET。

+0

可能的欺骗:http://stackoverflow.com/questions/375117/ screen-scraping-a-windows-application-in-c – SquidScareMe 2011-05-13 19:06:27

回答

1

如果您查看该页面上的表单,您会注意到它们使用POST方法而不是GET方法。正如我相信你知道的,GET表单将它们的参数作为URL的一部分传递,例如mypage?arg1=value&arg2=value

但是,对于POST请求,您需要将参数作为请求主体传递。它采用相同的格式,只是以不同的方式传入。要做到这一点,使用相似的代码如下:

HttpRequest myRequest = (HttpRequest)WebRequest.Create(theURL); 
myRequest.Method = "post"; 

using(TextWriter body = new StreamWriter(myRequest.GetRequestStream())) { 
    body.Write("arg1=value1&arg2=value2"); 
} 

WebResponse theResponse = myRequest.GetResponse(); 

//do stuff with the response 

不要忘了,你仍然需要躲避参数等

+0

转义参数?你能告诉我这是什么意思吗? – Umer 2011-05-14 08:08:55

+0

真棒,它的工作,我第一次尝试的错误;我使用了主页面,我应该在form.action中定位页面。谢谢 – Umer 2011-05-14 09:20:46