欢迎来到天天文库
浏览记录
ID:31432830
大小:110.50 KB
页数:7页
时间:2019-01-09
《一种基于webmagic和mahout的信息搜集与推荐系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、一种基于WebMagic和Mahout的信息搜集与推荐系统 摘要:提出一种基于Java爬虫框架WebMagic和Mahout推荐引擎的信息搜集与推荐系统。首先利用WebMagic框架从多个信息源获取需要的数据,然后使用Jieba分词工具和余弦定理进行文本相似度判定,从而对数据进行处理,最后使用Mahout推荐引擎为用户推荐可能感兴趣的信息。 关键词:爬虫框架;余弦定理;推荐引擎;WebMagic;Mahout DOIDOI:10.11907/rjdk.161848 中图分类号:TP303 文献标识码:A文章编号:16727800(2016)010000103 0引言 学生常通过学
2、校的就业信息网或搜索引擎获取招聘信息,但这些信息一般只包含宣讲时间、宣讲地点、用人单位简介、招聘职位和联系方式等内容,每天都需花费大量时间关注招聘信息,还需要筛选出与自己专业匹配并符合自己期望的岗位。 随着信息获取和数据分析技术的快速发展,已经出现很多基于各种语言的爬虫框架,典型的如基于Python的Scrapy[1]和基于Java的WebMagic[2]、Hadoop和Spark[3]大数据分析框架以及推荐引擎Mahout[4]。7 本文提出一种解决方案,通过Java爬虫框架WebMagic从多数据源获取信息,在使用向量相似度发现同义词并进行数据处理后,采用Mahout推荐引擎为用户推荐
3、可能感兴趣的信息。 1数据搜集工具――WebMagic WebMagic是基于Java语言的开源爬虫框架[5],覆盖了典型爬虫的几大功能:页面下载、链接提取、URL管理和内容分析与持久化。 1.1WebMagic总体架构 WebMagic由Downloader、PageProcessor、Scheduler和Pipeline四个部分组成,总体架构如图1所示。 (1)Downloader组件使用ApacheHttpClient下载页面以便后续处理。 (2)PageProcessor组件提供了基于XPath和Css的选择器,解析网页并获取有用信息,还可以获取新的链接。 (3)Sche
4、duler组件负责待抓取URL的管理和去重工作,开发人员可选择使用基于JDK的内存队列来管理URL,还可使用Redis进行分布式管理。 (4)Pipeline组件负责对解析结果进行自定义处理,将处理结果持久化到文件或数据库。 1.2WebMagic使用方法 使用WebMagic框架首先需要在Java工程添加webmagic-core和webmagic-extension的Maven依赖[6]。Spider或其子类OOSpider是爬虫启动的入口,可以通过定义一个PageProcessor子类,调用该对象的run函数启动爬虫程序,示例代码如下:7 OOSpider.create(test
5、Processor.getSite()).addPageModel(testPipeline,TestModel.class).addUrl(HOME_PAGE).run() Site类可以用来配置待爬取站点的编码、Http头、超时时间、重试策略、代理等信息。 开发者可通过定义AfterExtractor的子类来创建Model,在Model的afterProcess函数中,可以用XPath或Css的方式解析网页里的有用信息,将其放到自定义Bean或List对象中,便于Model对应的Pipeline将其持久化至文件或数据库中。 如果待爬取页面的数据内容来自Ajax请求,按照WebMagi
6、c传统方式不能获取有效信息,需要借助于浏览器或网络抓包工具,例如Wireshark找到获取数据的http请求,一般这些请求对应的响应包含了Json或Xml。WebMagic提供了诸如JsonPathSelector工具类来获取Ajax请求的响应数据。 2文本相似度判定 WebMagic通常从多数据源(例如多个网站)爬取数据。在获取数据后,还需要对数据进行清洗、清除冗余记录、获取同义词并对同义词进行替换。判断文本的相似度对于数据清洗工作来说尤为重要,主要采用Jieba分词工具和余弦定理进行文本相似度判定。 2.1Jieba分词工具 Jieba分词是Python语言的中文分词工具,支持3种
7、分词模式:①精确模式,将句子精确分开,适合文本分析;②全模式,把句子所有成词的词语都扫描出来,但是不能解决歧义;③搜索引擎模式,对长词进行切分,提高召回率。7 解决方案采用Java技术,选用Jieba分词的Java版本Jieba-analysis。例如“招聘工商管理和通信工程专业毕业生”的句子,经过Jieba-analysis工具处理后可以得到“招聘”、“工商”、“管理”、“工商管理”、“和”、
此文档下载收益归作者所有