网络爬虫的设计与实现(5)

2019-08-20 20:40

天津大学2007届本科生毕业设计(论文)

主题蜘蛛将网页下载到本地后,需要使用基于内容的主题判别方法计算该网页的主题相关度值,主题相关度低于某一阈值的网页被丢弃。

(一)什么是网页标题

通常浏览一个网页时,通过浏览器顶端的蓝色显示条出现的信息就是“网页标题”。

在网页HTML代码中,网页标题位于标签之间。

网页标题是对于一个网页的高度概括,一般来说,网站首页的标题就是网站的正式名称,而网站中文章内容页面的标题就是这文章的题目,栏目首页的标题通常是栏目名称。当然这种一般原则并不是固定不变的,在实际工作中可能会有一定的变化,但是无论如何变化,总体上仍然会遵照这种规律[12]。

例如,现在会看到很多网站的首页标题较长,除了网站名称之外,还有网站相关业务之类的关键词,这主要是为了在搜索引擎搜索结果中获得排名优势而考虑的,也属于正常的搜索引擎优化方法。因为一般的公司名称(或者品牌名称)中可能不包含核心业务的关键词,在搜索结果排名中将处于不利地位。 (二)网页标题的重要性

以Google为例,Google会对其标题标签(meta title)中出现的关键字给予较高的权值。所以应当确保在网站的标题标签中包含了最重要的关键词,即应围绕最重要的关键词来决定网页标题的内容。不过网页的标题不可过长,一般最好在35到40个字符之间。在实际操作中,网页标题不宜过短或过长。太短无法完整的表达网页信息,太长不仅不利于用户识别,而且对搜索引擎来说也加大了识别核心关键词的难度;网页标题应概括网页的核心内容。搜索引擎在进行搜索的时候,搜索结果的内容一般是网页标题、网页摘要信息和链接,要引起用户的关注,高度总结了网页内容的标题至关重要。比如戴尔中国的网站www.dell.com.cn首页标题为“戴尔中国(Dell China)—计算机,笔记本电脑,台式机,打印机,工作站,服务器,存储器,电子产品及附件等”。戴尔的首页标题中不但涵盖了最重要的公司信息,而且还包括公司的主要产品,这就是核心关键词,当用“笔记本电脑”、“台式电脑”这些关键词在谷歌中进行搜索时,戴尔公司的网页都排在第一屏的前几条位置。

(二)但是与此同时需要注意的还有网页正文的重要性,因为网页的标题和关键字很可能与正文无关,虚假关键词是通过在META中设置与网站内容无关的关键词,如在Title中设置热门关键词,以达到误导用户进入网站的目的。同样的情况也包括链接关键词与实际内容不符的情况。

10

天津大学2007届本科生毕业设计(论文)

具体判断主题相关度的步骤

1.对标题及正文的特征项的选取是通过分词后与主题集合匹配,并通过词频计算来得到与主题向量维数相等的标题向量和正文向量。 2.通过向量空间模型计算出主题和标题的相关度B。 3.通过空间向量向量模型计算主题与正文的相关度C。 4.主题与整个网页的相关度:A=4×B+C。

5.通过详细计算,设定相关度阈值为2,网页与主题的相关度A>2,则认为该网页与主题相关的。

3.4 网络爬虫的概要设计

本网络爬虫的开发目的,通过网络爬虫技术一个自动提取网页的程序,实现搜索引擎从自己想要访问的网上下载网页,再根据已下载的网页上继续访问其它的网页,并将其下载直到满足用户的需求。

根据现实中不同用户的实际上的各种需求,本项目简单实现主题爬虫,本网络爬虫需要达到如下几个目标:

1.设计基于多线程的网络爬虫,客户端向服务器发送自己设定好请求。如图3-7所示。

11

天津大学2007届本科生毕业设计(论文)

线程1搜索元URL如www.http://www.wodefanwen.com/ 互联网 URL配置文件 URL配置文件列表 临 界 区 线程2搜索元URL如www.http://www.wodefanwen.com/ 线程N

图3-2 多线程网络爬虫概要设计图模型

2.通过 http将Web服务器上协议站点的网页代码提取出来。 3.根据一定的正则表达式提取出客户端所需要的信息。

4.广度优先搜索可从网页中某个链接出发,访问该链接网页上的所有链接,访问完成后,再通过递归算法实现下一层的访问。

本网络爬虫最终将设计成一个能够自动读写配置文件并且在后台自动执行的网络爬虫程序。网络爬虫工作流程图如图3-3所示。

12

天津大学2007届本科生毕业设计(论文)

满足条件停止根据宽度有限算法搜索目标URL网络蜘蛛循环爬行从配置文件中读取初始URL作为源URL开始获取网页以正则表达式过滤网页标签提取目标URL

图3-3 网络爬虫工作流程图

结束13

天津大学2007届本科生毕业设计(论文)

第四章 网络爬虫模型的设计和实现

4.1 网络爬虫总体设计

根据本网络爬虫的概要设计本网络爬虫是一个自动提取网页的程序,根据设定的主题判断是否与主题相关,再根据已下载的网页上继续访问其它的网页,并将其下载直到满足用户的需求。 1.设计基于多线程的网络爬虫。

2.通过 http将待爬取URL列表对应的URL的网页代码提取出来。 3.提取出所需要的信息并且通过算法判断网页是否和设定的主题相关。 4.广度优先搜索,从网页中某个链接出发,访问该链接网页上的所有链接,访问完成后,再通过递归算法实现下一层的访问,重复以上步骤。

总的来说爬虫程序根据输入获得URL任务列表,即初始URL种子,把初始种子保存在临界区中,按照广度搜索运算法搜索抓取网页并提取URL返回到临届区中,通过判断主题相关度算法判断相关度,取出不相关网页,,从而使整个爬虫程序循环运行下去。

4.2 网络爬虫具体设计 4.2.1 爬取网页

主要用到的技术如下:

继承HTMLEditorKit类,改写其中的 HTMLEditorKit.Parser getParser()属性protect为public,用下列函数爬取网页: public class XXXXX extends HTMLEditorKit { public HTMLEditorKit.Parser getParser() {

return super.getParser(); } }

步骤如下:

1首先建立URL连接。

URLConnection url_C = url_test.openConnection(); 2设置连接超时时间和读取超时时间。 url_C.setConnectTimeout(10000);

14


网络爬虫的设计与实现(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2018年江苏省盐城市阜宁县九年级(上)期中物理试卷和答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: