网页数据抓取软件(这是一个很早就设想的项目(图)付诸实现 )
优采云 发布时间: 2022-01-14 21:14网页数据抓取软件(这是一个很早就设想的项目(图)付诸实现
)
这是一个很久以前就设想过但从未实现的项目。前几天从网上捡到一个小项目,和网页数据提取有关,所以顺便开发了这个功能。
该项目有几个步骤,从简单到复杂。让我们从简单的开始。
简单地说,它很简单。不管是模式问题、性能问题,还是多线程问题,都是用传统的编程方式,想起来就加函数。优化问题会在后面考虑,当然,有推翻整个项目的风险。
功能列表:
1、阅读网页:必须实现的功能,否则没有基本的数据进行操作。网页数据类型包括:html、xml、asp、aspx、image、script等,读取方式有很多种,如WebBrowser控件、WinSock控件等。
2.网页数据分析:对上一步读取的数据进行再处理和检索,找到需要的数据。这一步比较麻烦,因为我们面临着五种数据结构的方法。可以使用 WebBrowser 的 Document 来访问节点;您还可以在 mshtml 中使用 HTMLDocumentClass 类;可以直接读取数据,使用文本分析的方法,效率较低。如果使用正则表达式,效率会提高很多。我使用了上述数据分析方法,具体取决于处理的数据类型。
以上两步为主要部分,实际功能基于以上结果。
3.增加实用功能:
1)链接,网页中的按钮点击:模拟用户的操作,点击网页中的链接。点击动作很容易在 WebBroswer 或 mshtml 中实现。注意实现相关的事件回调,如 Completed、Navigating 等。
WebBrowser--> Document --> DomDocument --> HTMLElement --> 点击
要找到对应的控件,可以使用name、class id、href、submit等属性在控件集中进行过滤。
2)网页中的数据填充:数据填充一般发生在文本框控件中。控件可以通过名称定位,将要填充的值赋给它的value属性。
3)验证码识别:这个话题涉及到很多知识,我会在另一个文章中讨论,这里我们举个简单的例子,比如
, 复杂到