使用Javascript或Web表单进行Web爬网

时间:2010-03-30 10:51:25

标签: c# javascript windows webforms

我有一个webcrawler应用程序。它成功抓取了大多数常见和简单的网站。现在我遇到了一些类型的网站,其中HTML文档是通过FORMS或javascripts动态生成的。我相信他们可以爬行,我只是不知道如何。现在,这些网站不显示实际的HTML页面。我的意思是如果我在IE或firefox中浏览该页面,HTML代码与IE或Firefox中的实际内容不匹配。这些网站包含文本框,复选框等...所以我相信他们就是所谓的“Web表单”。实际上我对网络开发并不熟悉,所以如果我错了就纠正我。

我的问题是,是否有人和我一样处于类似情况并成功解决了这些类型的“挑战”?有没有人知道有关网页抓取的某本书或文章?那些与这些高级网站有关的内容?

感谢。

3 个答案:

答案 0 :(得分:1)

这里有两个不同的问题。

表单

根据经验,抓取工具触摸表单。

为特定网站编写一些内容可能是合适的,它提交预定的(或半随机的)数据(特别是在为您自己的Web应用程序编写自动化测试时),但是通用爬虫应该让它们完全独立。

http://www.w3.org/TR/html4/interact/forms.html#h-17.13提供了描述如何提交表单数据的规范,可能有一个C#库可以提供帮助。

的JavaScript

JavaScript是一个相当复杂的野兽。

有三种常见的方法可以处理它:

  1. 编写您的抓取工具,使其复制您关注的特定网站的JS功能。
  2. 自动化网络浏览器
  3. 使用Rhinoenv.js
  4. 之类的内容

答案 1 :(得分:1)

我找到了一篇解决深度网页的文章,非常有趣,我认为这回答了我上面的问题。

http://www.trycatchfail.com/2008/11/10/creating-a-deep-web-crawler-with-net-background/

喜欢这个。

答案 2 :(得分:0)

AbotX开箱即用。它不是免费的。