excel自动抓取网页数据( 抓取网络数据真实的数据挖掘项目,你了解多少?)
优采云 发布时间: 2022-02-20 04:09excel自动抓取网页数据(
抓取网络数据真实的数据挖掘项目,你了解多少?)
1、爬虫爬取网络数据
一个真正的数据挖掘项目必须从数据采集开始。除了通过某些渠道购买或下载专业数据外,人们还经常需要自己爬取互联网数据。这时,爬虫就显得尤为重要。
Nutch爬虫的主要作用是从网络上爬取和索引网络数据。我们只需要指定 网站 的顶级 URL,例如爬虫可以自动检测页面内容中的新 URL,从而进一步爬取链接的网页数据。nutch 支持将捕获的数据转换为文本,例如(PDF、WORD、EXCEL、HTML、XML 等)转换为纯文本字符。
Nutch 与 Hadoop 集成,可以将下载的数据保存到 hdfs 以供后续离线分析。使用步骤如下:
$ hadoop fs -put urldir urldir
笔记:
第一个urldir是本地文件夹,存放url数据文件,每行一个url地址
第二个urldir是hdfs的存储路径。
$ bin/nutch crawlurldir --dir crawl -depth 3 --topN 10
命令执行成功后,会在hdfs中生成爬取目录。
2、MapReduce 预处理数据
下载的原创文本文档不能直接处理,需要对文本内容进行预处理,包括文档分词、文本分词、去除停用词(包括标点、数字、单词等无意义词)、文本特征提取、词频统计、文本向量化等操作。
一种常用的文本预处理算法是TF-IDF,其主要思想是如果一个词或短语在一个文章中出现频率很高,而在另一个文章中很少出现,则认为这个词或词组有很好的类别区分能力,适合分类。
再一次,似乎可可交付了......
hadoop jar $JAR SparseVectorsFromSequenceFiles …
9219:0.246 453:0.098 10322:0.21 11947:0.272 …
每列是单词及其权重,用冒号分隔。例如“9219:0.246”表示编号为9219的单词,对应原单词“Again”,其权重值为0.246。
3、Mahout 数据挖掘
预处理后的数据可用于数据挖掘。Mahout 是一个强大的数据挖掘工具和分布式机器学习算法的集合,包括:协同过滤、分类、聚类等。
以LDA算法为例,它可以将文档集中每个文档的主题以概率分布的形式给出。它是一种无监督学习算法,在训练时不需要对主题进行人工标注,只需要指定主题个数K即可。此外,LDA 的另一个优点是,对于每个主题,都可以找到一些词来描述它。
9219:0.246 453:0.098 …
mahout cvb –k 20…
topic1 {计算机、技术、系统、互联网、机器}
topic2 {戏剧、电影、电影、明星、导演、制作、舞台}
我们可以了解到哪些主题是用户的偏好,而这些主题是由一些关键词组成的。
4、Sqoop 导出到关系数据库
在某些场景下,需要将数据挖掘的结果导出到关系数据库中,以便及时响应外部应用程序的查询。
Sqoop 是用于在 hadoop 和关系数据库之间传输数据的工具。它可以将关系型数据库(如MySQL、Oracle等)的数据导入hadoop的hdfs,也可以将hdfs的数据导出到关系型数据库中:
sqoop export --connect jdbc:mysql://localhost:3306/zxtest --username root --password root --table result_test --export-dir /user/mr/lda/out
导出操作实现将hdfs目录/user/mr/lda/out中的数据导出到mysql的result_test表中。