网络爬虫定向爬取文本信息(源码)

一般的搜索引擎搜索到的内容广泛而杂乱,大大的降低了用户得到有效信息的效率。为了解决这个问题,本课题设计了一个定向的网络爬虫,它可以根据用户的特定需求来爬取网站内的信息。网络爬虫的主程序是用python编程语言编写的,使用python中的Scrapy框架能够简化开发,同时在爬虫程序中实现多线程来优化爬虫的爬取速度。使用广度优先的搜索策略可以尽可能的在目标网站全面的爬取信息,然后将提取到的有效的信息存储到数据库中,mysql数据库是开源免费的数据库且功能强大,是最佳的选择。为了方便日后的使用,最后将数据库中的数据输出到本地文本文档中进行整合。
目录
摘要3
关键词3
Abstract3
Key words3
引言(或绪论)3
1系统的开发环境及技术简介4
1.1系统开发环境4
1.1.1 Pycharm4
1.1.2数据库简介4
1.1.3WebStrom4
1.2系统开发的思想与技术4
1.2.1定向网络爬虫4
1.2.2Scrapy框架4
1.2.3网页搜索策略5
2系统总体设计5
2.1网络爬虫的模型分析5
2.2网络爬虫搜索策略6
2.3网络爬虫的主题相关度判断7
2.4网络爬虫的概要设计7
3系统详细设计与实现 9
3.1网络爬虫总体设计9
3.2网络爬虫具体设计9
3.2.1用Scrapy框架创建一个项目9
3.2.2编写爬虫主程序9
3.2.3编写items类10
3.2.4数据的存储11
3.2.5代理设置11
3.2.6启动爬虫12
3.2.7整体流程12
4测试13
5总结14
致谢14
参考文献15
网络爬虫定向爬取文本信息
引言
引言
近二十年,计算机在我国发展十分迅速,基本每家都有,人们用的最多的就是其搜索功能。在这个大数据时 *好棒文|www.hbsrm.com +Q: ¥351916072¥ 
代,我们想要有效利用大量的信息资源,需要搜索引擎的帮助。百度是我国目前最出名的一个搜索引擎,我们可以通过百度查阅到很多的资料,这对生活的改变是很大的,人们不用为了解答一个疑惑而去翻阅大量的图书,只需在搜索引擎中输入关键字即可查到想要的东西。但是有的时候我们想要的东西未必可以查到或者查到的信息太多难以筛选,这也是搜索引擎存在的问题。
那么怎么解决这个问题呢?这就要用到定向网络爬虫了,它可以通过不同的正则表达式来契合用户的不同需求,这样就可以有目的的在目标网站上爬取有效的信息。在本项目中,用python来编写爬虫程序,使用了Scrapy框架,使得开发变得简易。数据存储到mysql数据库中,mysql数据库的特点是速度快,成本低。最后导出到本地文档以便日后使用。
脚本之家(http://www.jb51.net/)是一个知识论坛,里面有很多的干货,对我们的编程学习有很大的帮助,而且可以从中下载论坛大神们写好的实例。但是它的网站界面很差,又有许多的广告,查找我要的文章时很不方便,所以我选择爬取“脚本之家”里面的文章。
1 系统的开发环境及技术简介
1.1 系统开发环境
1.1.1 Pycharm
PyCharm是一个Python集成开发工具,它具有界面友好的的特点,是全新的集成开发环境。主要是基于先前的PyCharm,并增加了一些新的插件实现,在当前的一些平台中得到了广泛的应用。因此,整体来看,PyCharm开发软件符合本次的开发要求。PyCharm具有强大的开发功能,能够支持多种开源产品,已经成为一种重要的开发工具。
1.1.2 数据库简介
MySQL作为一个数据服务器具有很大的优势,一方面能够实现多用户以及多线程的操作。而SQL语言也是当前最普遍的数据库编程语言,能够较为简单的实现对数据的更新以及存取等过程。MySQL作为客户机/服务器架构的重要工具,主要包括服务器程序、客户程序以及相关的库。MySQL 的主要目标是快速、健壮和易用。MySQL设计的初衷就是能够降低数据处理的成本,尤其是在硬件平台上的数据库操作,并且能够实现所有对数据的操作和管理,但是数据库的规模比较合适。MySQL数据服务器具有很多可靠的功能,比如说权限设置,还可以设置密码,对系统进行加密处理,这样能够大大提高系统的安全性;在Windows端有ODBC接口,通过ODBC接口能够实现与 Access的连接;最新版本的MySQL 建立了MyISAM,使得最大的表可以达到8百万 TB;可以实现多种语言的支持,但不支持中文。但是为了保证运行的快速性和健壮性,MySQL在一些其他功能方面必须降低一定的性能,例如在存储过程以及触发器等方面。因此,通过这种方式能够有效地提高其数据处理速率和质量,而且使用MySQL数据服务器的数据处理效率要比其他服务器提高了很多倍。
MySQL 本身并不属于Windows系统的专门操作界面,主要的操作方式都是使用MSDOS方式实现。当前由于 MySQL在性能以及功能方面的优越性,已经成为众多中小型网站开发的首选,针对其开发的很多图形界面控制程序也不断出现,例如EMS公司的EMS MYSQL MANAGER创建的操作软件就是MySQL数据服务器的操作软软件,这将使得其开发和应用更加方便,因此具有更加广阔的应用前景。MySQL是开放码源的,这就导致它的使用成本很低,加之其体积小、速度快的特点,许多的中小型企业在开发中都会选择MySQL 作为数据库。
1.1.3 WebStorm
WebStorm 是是一款强大HTML5编辑软件,它含有IntelliJ IDEA中的一些功能。
1.2系统开发的思想与技术
1.2.1定向网络爬虫
定向网络爬虫(主题爬虫)是指有选择性地爬设定好的界面的网络爬虫。 它们要做的只是提取一些跟主题有关的界面的信息,这样能够节省硬件资源和网络资源,而且由于保存的信息较少而可以获得更快的更新。定向网络爬虫还可以帮助对某一特定领域有需求的人方便快捷的从网站中提取出他们需要的知识。
与通用网络爬虫相比,定向网络爬虫增加了对链接的评价和对网页内容的评价。定向爬虫通过特定的方法对网页的内容和网页内的链接进行评价,从而得出不同的重要性,这样就会对链接的访问顺序进行重新的排序,实现网页的爬行。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/jsjkxyjs/1692.html

好棒文