抓取/报废基于搜索表单的网页

时间:2011-05-13 18:57:45

标签: c# web-crawler web-scraping

我想抓取/删除包含表单的网页 准确地说下面是URL

http://lafayetteassessor.com/propertysearch.cfm

问题是,我想进行搜索并将结果保存在网页中。 1.我的搜索字符串将始终提供唯一的页面,因此结果计数不会成为问题。 2.那里的搜索不搜索URL(例如谷歌搜索网址包含要搜索的参数)。如何从起始页面(如上所述)搜索并获取结果页面?

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

1 个答案:

答案 0 :(得分:1)

如果查看该页面上的表单,您会注意到它们使用的是POST方法,而不是GET方法。我相信您知道,GET表单会将其参数作为网址的一部分传递,例如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

不要忘记你仍然需要逃避争论等等。