【问题标题】:crawling / scraping a search form based webpages抓取/抓取基于搜索表单的网页
【发布时间】:2011-05-13 18:57:44
【问题描述】:

我想抓取/抓取具有表单的网页 准确地说是网址

http://lafayetteassessor.com/propertysearch.cfm

问题是,我想进行搜索并将结果保存在网页中。

  1. 我的搜索字符串将始终提供一个唯一的页面,因此结果计数不会成为问题。
  2. 那里的搜索不搜索 URL(例如 google 搜索 url 包含要搜索的参数)。如何从起始页面(如上)搜索并获取结果页面?

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

【问题讨论】:

标签: c# web-crawler web-scraping


【解决方案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

别忘了你还需要转义参数等等。

【讨论】:

  • 太棒了,它成功了,我第一次尝试的错误;我使用了主页,我应该在 form.action 中定位页面。谢谢
猜你喜欢
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多