摘要:
信息价值的作用日益凸显,利用网络爬虫技术提取论坛网站的有价值信息效果明显。报告针对论坛网站主帖和回帖的标题、作者、时间、内容的提取,提出了三种可行方案,并通过对比分析、综合三种方案的优缺点,提出最优方案,且该方案对网络论坛具有普遍适用性。
该方案基于网页分块的论坛爬虫思想,利用CSS选择器和正则表达式(用于筛选时间),结合HTML DOM树及HTML标签的特性,考虑到部分网络论坛的特殊性,具有高度通用性。
整个实验过程(解题步骤)大致分为以下几个步骤: 第一步选取样例数据。除大赛组委会提供的测试样例数据外,还选取了具有权威性的网站排名网站“站长之家”排名前300的论坛作为测试样例数据,大大提高了方案的普适性。 随后提出方案并论证各个方案的可行性。提出的初步方案为:
1)利用网络开源论坛模板分类选择;
2)使用HTML标签属性共性进行分类筛选;
3)利用简单的经验进行判断。与此同时,通过开源模板统计等具体数据的对比分析,综合方案的优缺点和实施难度,提出以方案二 为基础的最优方案。
第三步是论坛标签统计和主回帖判断。通过使用Firefox、Chrome等浏览器的调试工具,统计各个论坛目标内容的共性,形成汇总表。由于部分 URL 所指向的页面中仅包含回帖内容, 因此需要通过解析URL中的参数或者格式进行主回帖的判断。通过判断,设计了一种具有普遍 适用性的URL主回帖判断方案。
最核心的部分是程序编写。由于所选方案中需要用到大量的CSS选择器,所以选择对CSS选择器支持完全的、使用要求宽松的MIT license授权的开源HTML解析库“jsoup”作为程 序的核心依赖库,用以完成对HTML的爬取和解析。同时,设计编制特例处理通用框架。由于任何先进的算法和理论都不能保证程序对所有的论坛网站均适用,所以设计了一种用于处理特 殊论坛的简单框架。
最后一步是设计测试指标和程序测试。依据现有的查全率和查准率的概念,结合论坛通用爬虫的特点,设计了一种用于论坛通用爬虫的测试指标。最后通过人工筛查的方式对程序运行 结果进行判定,并统计计算得出相应的测试指标。
在报告的最后分析了网络论坛爬虫的核心思路及其价值,浅谈完成实验的收获和感想,同 时对网络论坛要素爬取提出新的展望。
关键词:网络爬虫 网络论坛 通用爬虫 CSS 选择器 Java