2011-05-13 55 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