欢迎来到天天文库
浏览记录
ID:34783914
大小:136.68 KB
页数:7页
时间:2019-03-10
《用vc编程实现web文本资料的抓取》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、用VC++编程实现WEB文本资料的抓取马创新(南京师范大学文学院,南京210097)提要:本文用VC++编程实现了WEB文本资料的抓取。它能够获取指定网页上的所有链接,并把这些链接的网页抓取下来,以文本文件形式保存在指定文件夹中。实验证明:该方法具有优良的性能,能够满足使用者抓取WEB文本的需求。关键词:VC++;文本资料采集;网页抓取;RealizationofthewebliteraturecollectionUsingVC++MaChuangxin(CollegeofLiberalArts,NanjingNormalUnivers
2、ity,Nanjing210097,China)【Abstract】WerealizedwebliteraturecollectionusingVC++.Itcangetallthelinksonthepagespecified,andtheselinkedpagescrawleddowntosaveastextfiles.Experimentsshow:Ithasanexcellentperformance,tomeettheneedsoftheuser'sliteraturecollection.【Keywords】VC++;lit
3、eraturecollection;webcrawling;1概述在互联网应用得到普及的今天,网络上的文本资源十分丰富。为了增加网站的点击率,网站管理人员通常会把这些文献资料以网页的形式保存在网站上供使用者浏览,而不会提供直接地下载。为了能够离线阅读或者对文献资料做其他处理,有时需要把这些资料下载下来保存在文本文件里。我们用VC++编程实现了WEB文本资料的采集,指定程序一个网址,它就能够获取这个页面上的所有链接;并且把这些链接所指向的页面内容下载到指定的文件夹中。2本程序所能实现的功能本程序的可视界面如图1所示,使用这个程序时,首先在
4、地址栏中输入要采集的网页地址;然后点击“定位网页”命令按钮,就会在对话框中间的WEB浏览器中显示该网页;之后再指定保存文本文件的文件夹,可以直接输入文件夹路径,也可以通过“浏览”按钮来选择;最后点击“采集网页文本”命令按钮,程序能够自动获得这个页面上的所有链接;把这些链接所指向的页面内容下载到指定文件夹中,并且在最下面的列表控件中显示“链接名称”和“链接路径”。(图1:WEB文本资料采集程序的界面)3WEB文本资料采集的编程实现3.1打开VC6.0,利用MFCAppWizard建立一个基于对话框的应用程序,在工程名称中填入wle。在对话
5、框中放置如图1所示的各个控件,在表1中,按照从左到右,从上到下的顺序对这些控件的类型、ID、标题、相关变量、作用等作了具体的介绍。控件类型ID标题相关变量作用静态文本IDC_STATIC地址提示编辑框IDC_EDITaddress指定要采集文本的网址命令按钮IDC_BUTTONshowWeb定位网页实现在浏览器中显示网页的功能MicrosoftWEB浏览器IDC_EXPLORER1m_IE显示网页静态文本IDC_STATIC文件夹:提示编辑框IDC_EDITfold指定一个文件夹,用于保存采集到的文本命令按钮IDC_BUTTONbrow
6、se浏览打开对话框模式,方便用户选择文件夹命令按钮IDC_BUTTONgetWebPage采集网页文本实现文本采集的功能,并在列表控件中显示链接名称和链接路径列表控件IDC_LISTlinkm_listlink用于显示所有的“链接名称”和“链接路径”(表1:各个控件的类型、ID、标题、相关变量、作用)3.2在该工程的源文件wleDlg.cpp中添加三个头文件和一个全局变量:#include#include#includestaticHWNDHw;3.3打开类向导,编辑对话框
7、类CWleDlg的消息WM_INITDIALOG,在returnTRUE;之前添加下面几行代码://TODO:AddextrainitializationhereHw=GetSafeHwnd();::SetDlgItemText(Hw,IDC_EDITaddress,"http://");//初始化列表框;DWORDdwStyleEx=m_listlink.GetExtendedStyle();dwStyleEx
8、=LVS_EX_GRIDLINES
9、LVS_EX_FULLROWSELECT;m_listlink.SetExtendedS
10、tyle(dwStyleEx);m_listlink.InsertColumn(0,_T("链接名称"),LVCFMT_LEFT,160);m_listlink.InsertColumn(1,_T("链接路
此文档下载收益归作者所有