题目

1、网络数据采集,使用requests或者scrapy爬取数据,存储到一个文本文件 数据源文件.txt 中。
2、使用Spark RDD或者Spark Sql,读取 数据源文件.txt 内容,对某一个字段的数据进行统计,获得词频前10的字段数据。把结果放在一个文本文件 排行结果.txt 中。

回答

爬取的网页

https://hz.house.ifeng.com/news/2014_10_28-50087618_1.shtml

上交的四个文件

1、用requests爬虫爬取数据

# -*-coding:utf-8 -*-import osimport requests
from lxml import etreedef getPageInfo():url = 'https://hz.house.ifeng.com/news/2014_10_28-50087618_1.shtml'result = "";response = requests.get(url=url)response.encoding = 'utf-8'tree = etree.HTML(response.text)list = tree.xpath("//div[@class='content-info']/table/tbody/tr")for li in list:text1 = li.xpath("./td/text()")if len(text1) < 7 or text1[0]=="序号":continueelse:result += text1[0].replace('\xa0', '').replace('\ufffd', '') + ";" + text1[1].replace('\xa0', '').replace('\ufffd', '') + ";" + text1[2].replace('\xa0', '').replace('\ufffd', '') + ";" + text1[3].replace('\xa0', '').replace('\ufffd', '') +";"  + text1[4].replace('\xa0', '').replace('\ufffd', '') +";"+ text1[5].replace('\xa0', '').replace('\ufffd', '') +";"+ text1[6].replace('\xa0', '').replace('\ufffd','') + "\n"print("完成")file = os.getcwd() + '/数据源文件.txt'output = open(file, mode='w')output.write(result)output.close()if __name__ == '__main__':getPageInfo()

2、用Spark RDD处理数据

# -*- coding:utf-8 -*-import osfrom itertools import islice
from pyspark.sql import SparkSessionspark = SparkSession.builder.appName("实例1").master("local[*]").getOrCreate()
sc = spark.sparkContexttextFile = sc.textFile("数据源文件.txt")text_list = textFile.collect()
rdd_list = []
for li in text_list:rdd_list.append(li.split(";")[2])rdd = sc.parallelize(rdd_list)
pairRDD = rdd.map(lambda word: (word, 1))
newRdd = pairRDD.reduceByKey(lambda a, b: a + b)keyRdd = newRdd.sortBy(lambda x: x[1], ascending=False)
tmp_list = keyRdd.collect()
new_list = []
for i in tmp_list:new_list.append(i)
iterator = islice(new_list, 10)file = os.getcwd() + '/排行结果.txt'
output = open(file, 'w')for item in iterator:output.write(item[0])output.write(",%s\n"%(item[1]))#'\ufffd'时,要用Notepad++把文件"数据源文件.txt"转为UTF-8编码output.close()

3、数据源文件.txt

1;龙湖春江郦城;滨江;18;0;2178.61;23757
2;海威钱塘之星;滨江;13;0;629.55㎡;17398
3;大家运河之星;拱墅;12;0;1052.72㎡;10457
4;保利城市果岭;下沙;8;0;743.05㎡;10457
5;金地格林格林;江干;7;8;609.97㎡;10238
6;远洋杭州大运河商务区;拱墅;5;0;346.72㎡;22681
7;之江九里;之江;4;0;358.08㎡;17747
8;绿城巧园;滨江;4;0;353.83㎡;16858
9;万科西庐;西湖;4;1;404.45㎡;22596
10;绿地旭辉城;滨江;4;0;346.18㎡;22345
11;中海定山府;之江;4;0;356.99㎡;9530
12;绿城兰园;下城;4;0;357.54㎡;42924
13;绿城西溪诚园;西湖;6;0;673.66㎡;31601
14;万科璞悦湾;滨江;4;4;483.78㎡;19595
15;宋都香悦郡;拱墅;3;5;266.34㎡;13039
16;远洋公馆绿园;拱墅;3;0;474.16㎡;30714
17;黄龙金茂悦;拱墅;3;0;267.85㎡;23375
18;滨江紫金府;西湖;3;0;318.31㎡;24619
19;世茂东壹号;江干;3;0;294.09㎡;17211
20;广大融城印象;江干;3;0;259.44㎡;12178
21;万科紫台;江干;3;0;304.39㎡;18594
22;玲珑府;滨江;3;0;146.09㎡;14444
23;德信东望;江干;3;0;269.14㎡;17704
24;富越香郡;拱墅;3;0;265.5㎡;17457
25;滨江万家星城;下城;3;0;265.62㎡;20003
26;龙湖名景台;江干;3;0;266.46㎡;13745
27;大家多立方;江干;2;0;169.1㎡;14678
28;绿城丽江公寓;江干;2;0;164.76㎡;16500
29;野风现代中心;下城;2;0;100.46㎡;20254
30;泰地北上新城;下城;2;0;84.99㎡;11230
31;华鸿罗兰春天;江干;2;0;199.39㎡;13251
32;中海寰宇天下;滨江;2;0;601.56㎡;18285
33;中国铁建国际城;拱墅;2;0;176.76㎡;18399
34;保利玫瑰湾;下沙;2;0;166.5㎡;10505
35;万银双子中心;江干;2;0;179.72㎡;20600
36;新中宇维萨;江干;2;0;178.69㎡;20314
37;武林壹号;拱墅;2;0;651.99㎡;60122
38;九龙仓碧玺;拱墅;2;0;177.77㎡;19297
39;同人精华大厦;西湖;2;0;102.14㎡;15482
40;杭州碧桂园;下沙;2;0;178.26㎡;9877
41;德信晓宸;拱墅;2;0;280.26㎡;18130
42;莱茵矩阵国际;拱墅;2;0;529.84㎡;21987
43;万和玺园;下城;2;0;176.73㎡;23473
44;鑫运时代金座;江干;2;0;101.28㎡;12786
45;宝嘉誉峰;拱墅;2;0;181.03㎡;21312
46;天阳晴朗;江干;2;0;178.49㎡;12213
47;宋都东郡国际;下沙;2;2;135.9㎡;9182
48;三江花园道壹号;拱墅;2;2;177.82㎡;17699
49;贺田尚城;滨江;1;0;138.24㎡;18301
50;莱蒙水榭春天;滨江;1;0;84.11㎡;21043
51;金隅观澜时代;下沙;1;0;136.76㎡;10200
52;坤和和家园;西湖;1;0;64.53㎡;19680
53;金都城市芯宇;西湖;1;0;53.62㎡;27635
54;德信泊林印象;江干;1;0;121.52㎡;14478
55;绿城西子田园牧歌;拱墅;1;0;88.55㎡;16107
56;裕丰青鸟香石公寓;下城;1;0;137.08㎡;24073
57;龙湖滟澜山;下沙;1;0;424.3㎡;19090
58;万亚金沙湖1号;下沙;1;0;47.35㎡;13800
59;德信臻园;拱墅;1;0;216.85㎡;27115
60;世茂钱塘帝景;滨江;1;0;89.87㎡;18043
61;华盛达阅城;拱墅;1;0;55.93㎡;9922
62;方正荷塘月色;拱墅;1;0;88.12㎡;28520
63;中豪四季公馆;江干;1;0;129.89㎡;12549
64;中天西城纪;拱墅;1;0;42.66㎡;18049
65;远洋大河宸章;拱墅;1;0;191.69㎡;29624
66;滨江金色黎明;江干;1;0;138.72㎡;17444
67;公元沐桥;之江;1;0;249.92㎡;46014
68;协安紫郡;西湖;1;0;89.93㎡;15002
69;中天官河锦庭;滨江;1;0;89.76㎡;20860
70;新华园;拱墅;1;0;148.22㎡;34800
71;广宇东承府;江干;1;0;235.33㎡;17719
72;佳兆业玖珑山;之江;1;0;87.36㎡;15653
73;佳美中心;下城;1;0;57.15㎡;22117
74;九龙仓君玺;下城;1;0;160.14㎡;43727
75;日信国际DOUBLE时代;上城;1;0;38.86㎡;31521
76;融科瑷骊山;之江;1;0;74.55㎡;13231
77;望江府;上城;1;0;89.65㎡;41040
78;天阳尚景国际;拱墅;1;0;89.56㎡;20500
79;中国铁建国际花园;江干;1;0;119.56㎡;17397
80;方正御星;拱墅;1;0;89.82㎡;17170
81;天阳尚城国际;江干;1;0;89.21㎡;16757
82;杭州中润中心;江干;1;0;29.56㎡;14390
83;万科公园大道;江干;1;0;131.52㎡;21593
84;银杏汇;滨江;1;0;89.69㎡;18285
85;融创河滨之城;西湖;1;0;184.39㎡;30641
86;广宇锦绣桃源;拱墅;1;0;86.44㎡;12473
87;景瑞申花壹号院;拱墅;1;0;89.18㎡;21529
88;复地黄龙和山;西湖;0;1;0㎡;0
89;中粮方圆府;下城;0;1;0㎡;0
90;东方铭楼;下沙;0;16;0㎡;0

4、排行结果.txt

拱墅,24
江干,21
滨江,12
西湖,9
下城,9
下沙,8
之江,5
上城,2

华农华迪实训训练-获得词频前10的字段数据-requests+Spark RDD相关推荐

  1. 【Python数据分析与处理 实训03】 --- 酒类消费信息分析(数据分组聚合 group().agg()应用)

    [Python数据分析与处理 实训03] - 酒类消费信息分析(数据分组聚合 group().agg()应用) 探索酒类消费信息 对于下面的数据集进行简单的一些数据的分析训练 若需要源数据请私信~ 1 ...

  2. 华衫科技-实训课程-小滴服务(Html-Css-Javascript)

    前端时间的两周的校内实训课程上学习了关于前端的一些知识,课上也跟着做了基础项目并进行了完善和整理,具体如下. 项目结构  1.DropleService.html <!-- html5标准网页声 ...

  3. [湖南大学程序设计实训训练作业一]9.二叉树遍历,从前序、中序到后序(二叉树呀,面试必考哦!)

    9.二叉树遍历,从前序.中序到后序 [写在前面]---补充知识 [问题描述] [输入形式] [输出形式] [样例输入] [样例输出] 题解 思路 代码 [写在前面]-补充知识 之前写过剑指offer, ...

  4. [湖南大学程序设计实训训练作业一]3.拳王阿里

    3.拳王阿里 [问题描述] [输入形式] [输出形式] [样例输入] [样例输出] 题解 思路 代码 [问题描述] 阿里是上个世纪美国最著名的拳击手,阿里在20年的时间里多次获得重量级拳王称号.不过不 ...

  5. [湖南大学程序设计实训训练作业三]1.部分A+B(字符串搜索)

    1.部分A+B [问题描述] [输入形式] [输出形式] [样例输入] [样例输出] 题解 思路 代码 [问题描述] 正整数A的"DA(为1位整数)部分"定义为由A中所有DA组成的 ...

  6. [湖南大学程序设计实训训练作业二]5.点球大战

    5.点球大战 [问题描述] [输入形式] [输出形式] [样例输入] [样例输出] 题解 思路 代码 [问题描述] 在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规 ...

  7. [湖南大学程序设计实训训练作业二]12. 绩点计算

    12. 绩点计算 [问题描述] [输入形式] [输出形式] [样例输入] [样例输出] 题解 思路 代码 [问题描述] 学校对本科生的成绩施行绩点制(GPA).将学生的实际考分根据不同学科的不同学分按 ...

  8. python实训内容_Python实验课:Python元组数据及其运算

    一.实验目的及内容 (1)元组的声明和初始化 (2)元组元素的访问 (3)元组的更新与合并 (4)元组的遍历 二.实验过程 1.元组的声明和初始化 (1)启动IDLE开发环境,并新建一个Python模 ...

  9. 安卓第二阶段实训预备案例:访问媒体库音频数据

    文章目录 一.引入新课 (一)如何访问系统数据库数据? (二)安卓媒体库(MediaStore) 1.系统外置卡媒体数据库(external.db) 2.系统内置卡媒体数据库(internal.db) ...

最新文章

  1. 一个简易的loading加载图
  2. MFC类结构-1、CObject类
  3. 英伟达账号为什么登录不了_告别视频通话“渣画质”,英伟达新算法最高压缩90%流量...
  4. 分类的评估标准_机器学习:模型评估之评估指标
  5. MS17-010(永恒之蓝)漏洞分析与复现
  6. jQuery添加/改变/移除CSS类
  7. 最全知识点总结!| 大数据学习路线指南
  8. java 状态模式 同步_JAVA设计模式之状态模式
  9. ubuntu12.04
  10. 【LeetCode笔记】剑指 Offer 36. 二叉搜索树与双向链表(Java、二叉树、链表、原地算法)
  11. java文件日志功能_JAVA文件下载功能问题解决日志
  12. 看老外程序员如何向妻子解释OOD (转载)
  13. java 图文生成图片_java生成图片
  14. Linux下挂载NTFS格式文件系统
  15. 【clickhouse】配置ClickHouse分布式DDL记录自动清理
  16. 播客“日谈公园”完成数百万天使轮融资,来自头头是道基金
  17. 什么是Windows内核编程
  18. 获取英雄联盟全皮肤(极速版)
  19. java获取当天剩余时间
  20. MFC隐藏任务栏图标

热门文章

  1. F1 Score详解 查准率较高 召回率较低怎末处理?
  2. 优盘连接时显示参数错误请问咋才能修复
  3. JDK1.8中英文官方文档
  4. 微信支付退款 升级版 【码云gvp 】
  5. Visual Studio项目属性配置
  6. HALO:用于MR扫描器中实时头部对准的工具
  7. java graphics2d 矩形_使用java.awt.Graphics2D画矩形
  8. python selenium中析构方法报错sys.meta_path is None, Python is likely shutting down如何解决?
  9. 坚果云教你几招提升你办公效率的技巧!
  10. 什么是CDN资质?什么情况需要办CDN牌照