我要爬网/报废具有形式 要精确以下网页的网址是爬行/报废搜索表单网页
http://lafayetteassessor.com/propertysearch.cfm
的问题是,我想打一个搜索并将结果保存在网页中。 1.我的搜索字符串将始终提供一个独特的页面,所以结果数量不会成为问题。 2.在那里搜索不搜索网址(例如谷歌搜索网址包含要搜索的参数)。我如何从起始页面搜索(如上)并获得结果页面?
请给我一些想法。 我正在使用C#/ .NET。
我要爬网/报废具有形式 要精确以下网页的网址是爬行/报废搜索表单网页
http://lafayetteassessor.com/propertysearch.cfm
的问题是,我想打一个搜索并将结果保存在网页中。 1.我的搜索字符串将始终提供一个独特的页面,所以结果数量不会成为问题。 2.在那里搜索不搜索网址(例如谷歌搜索网址包含要搜索的参数)。我如何从起始页面搜索(如上)并获得结果页面?
请给我一些想法。 我正在使用C#/ .NET。
如果您查看该页面上的表单,您会注意到它们使用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
不要忘了,你仍然需要躲避参数等
可能的欺骗:http://stackoverflow.com/questions/375117/ screen-scraping-a-windows-application-in-c – SquidScareMe 2011-05-13 19:06:27