网站内容采集系统(基于W的网站信息采集系统的设计与实现(双语))
优采云 发布时间: 2022-01-22 05:08网站内容采集系统(基于W的网站信息采集系统的设计与实现(双语))
基于Web的网站信息采集系统的设计与实现 摘要:随着Internet的快速发展,如何采集和利用Web信息越来越受到关注。本文提出了一种基于Web的信息采集系统的设计方案,并采用. 网络技术和数据库技术实现了采集和特定网站信息的处理。关键词:信息检索;正则表达式; ADO.NET CLC 编号:TP311 文档识别码:A文章 编号:1009-3044(2008)16-21263-02 基于Web的信息采集系统设计与实现 赵晓峰(系无锡商业学院信息工程专业,无锡 214153) 摘要:随着互联网的飞速发展,采集和利用 Web 信息得到了广泛的解决。本文旨在基于Web信息采集方案,利用.Net技术和数据库技术实现对特定网站的采集和处理。关键词:信息检索;正则表达式; ADO。
在某些情况下,我们在浏览网站时,会关注网站上的几种特定类型的信息和数据,我们需要将这些信息综合起来进行数据挖掘,以便进一步分析和使用;我想从几个网站中采集具体信息,分类统一格式后,存入本地数据库,自己发布网站,从而提高时效性信息和减少工作量。本文讨论了利用.Net技术和数据库技术设计Web网站信息采集系统,并以人才网站招聘信息采集作为参考。举例说明实现过程。2 资料采集系统设计2.1 采集系统设计思路首先要< @采集指定网站的信息,需要了解浏览信息的方式,并记录对应的访问路径。网站大部分都是用动态web技术(ASP、PHP等)构建的,通过参数传递检索数据库,并输出相应的信息。例如,在人才招聘网中,通常以单位名称作为信息的起始链接。打开相应网页后,您可以通过获取本单位具体招聘岗位的链接,获取详细的招聘信息。其次,采集获取的信息必须保存在本地数据库中。需要对几个目标网站的信息进行对比分析,得到统一的数据模型,并设计相应的数据表,以方便未来来自不同网站采集来源的信息将统一和结构化。第三,考虑到网站可能会执行多次采集,需要避免在自己的数据库中存储重复信息,同时重复处理已有信息也会减少采集@ > 系统工作效率。
因此,在记录每条信息的同时,可以记录对应的URL或相关ID,以方便验证链接是否被访问过。2.2 相关技术1)请求/响应模型 Web应用程序是一种基于HTTP协议的客户端/服务器请求-响应机制的信息交换。当我们在浏览器中输入URL时,需要建立连接,发送请求、发送响应、关闭连接四个步骤获取网页信息。.Net框架的命名空间System.Net中提供了两个类WebRequest和WebResponse,分别用于发送客户端请求和获取服务器返回的响应。2)正则表达式正则表达式提供了一种强大、灵活、处理文本的有效方法。正则表达式模式匹配可以快速分析大量文本以找到特定的字符模式;提取、编辑、替换或删除文本的子字符串;或将提取的字符串添加到集合中。在.Net命名空间中System.Text.RegularExpressions提供了Regex类来构造正则表达式,也提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。正则表达式模式匹配可以快速分析大量文本以找到特定的字符模式;提取、编辑、替换或删除文本的子字符串;或将提取的字符串添加到集合中。在.Net命名空间中System.Text.RegularExpressions提供了Regex类来构造正则表达式,也提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。正则表达式模式匹配可以快速分析大量文本以找到特定的字符模式;提取、编辑、替换或删除文本的子字符串;或将提取的字符串添加到集合中。在.Net命名空间中System.Text.RegularExpressions提供了Regex类来构造正则表达式,也提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。替换或删除文本的子字符串;或将提取的字符串添加到集合中。在.Net命名空间中System.Text.RegularExpressions提供了Regex类来构造正则表达式,也提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。替换或删除文本的子字符串;或将提取的字符串添加到集合中。在.Net命名空间中System.Text.RegularExpressions提供了Regex类来构造正则表达式,也提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。并且还提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。并且还提供了相应的方法来完成字符串的匹配和过滤。3)ADO.Net 采集系统获取的数据最终会存储在本地数据库中,.NET框架中提供了数据库访问技术ADO.NET。它屏蔽了各种数据源之间的差异,使用统一的接口进行访问,它由一组访问各种数据源的类组成。
为了提高访问效率,还为SQL Server提供了特殊的类,如SqlConnection、SqlCommand、SqlDataReader、Dataset、SqlDataAdapter等,完成对SQL Server数据库的访问和数据处理。2.3 算法说明要补全信息采集首先要能在页面中过滤掉我们需要的链接起点,然后系统模拟手动点击过程阅读信息。1)根据访问路径创建C#自带的REGEX类的对象,是正则表达式的匹配文本类。2)通过WebRequest发送请求,WebResponse接收返回的响应,然后通过 StreamReader 读取返回的响应,形成一个收录网页所有源代码的字符串。3) 用正则表达式匹配字符串得到Match采集集合,里面存储了我们需要进一步阅读的所有目标链接。4) 遍历集合的成员,访问成员链接指向的页面,StreamReader读取信息后使用正则表达式提取页面信息。如果页面是访问路径的终点,则读取相应信息后,将所有数据结构化并存入数据库;如果只是为了获得下一级链接,请转到 1)。3 实施人才招聘信息采集系统1)读取招聘单位名单信息打开网站
HttpWebRequest all_codeRequest = (HttpWebRequest)WebRequest.Create(web_url); WebResponse all_codeResponse = all_codeRequest.GetResponse(); StreamReader the_Reader = new StreamReader(all_codeResponse.GetResponseStream(), System.Text.Encoding.Default); string all_code = the_Reader.ReadToEnd(); the_Reader.Close(); 2)提取招聘单位超链接列表创建表达式字符串p,用它创建正则表达式对象re,并使用re.Matches方法返回all_code字符串链集合hy的所有匹配超链接。字符串 p = @".+"; 正则表达式 re = new Regex(p, RegexOptions.IgnoreCase); Match采集 hy = re.Matches(all_code); for (int i = 0; i < hy.Count; i++) { .... //读取单位信息...//获取各招聘单位发布的工作链接集合 gw for(int j=0;j