答案 0 :(得分:3)
构建机器人并不是那么难,并且有很多书籍描述了这样做的一般算法(简单的谷歌搜索将会出现许多算法)。
来自.NET perspecitve的它的主旨是递归地:
下载页面 - 这是通过HttpWebRequest
/ HttpWebResponse
或WebClient
类完成的。此外,您可以使用新的WCF Web API from CodePlex,这是对以上内容的浩大改进,专门用于生成/使用REST内容,它可以奇妙地用于抓取目的(主要是因为它的可扩展性)
解析下载的内容 - 我高度推荐Html Agility Pack以及Html Agility Pack的fizzler扩展程序。 Html Agility Pack将处理格式错误的HTML,并允许您使用XPath(或其子集)查询HTML元素。此外,如果您熟悉CSS selectors,fizzler将允许您使用using them in jQuery。
获得结构化格式的HTML后,请扫描结构以查找与您相关的内容并进行处理。
扫描外部链接的结构化格式并放入要处理的队列中(针对您的应用所需的任何限制,您没有索引整个网络,不是吗?)。
< / LI>获取队列中的下一个项目,然后重复该过程。