前言
个人大数据的期末大作业,用python按城市寻找爬取、分析和保存了珍爱网相亲的征婚信息,然后进行数据可视化分析。
一、数据的爬取,分析,清洗与保存
1.数据的爬取
网站来源如下
def getDate(baseurl): datalist = [] citylist = ['beijing/' ,'shanghai/','tianjin/','changchun/','shijiazhuang/','lanzhou/','xining/', 'xian/','zhengzhou/','jinan/','taiyuan/','hefei/','changsha/','wuhan/','nanjing/','chengdu/','guiyang/','kunming/', 'hangzhou/','nanchang/','guangzhou/','fuzhou/' ] for i in citylist: url1 = baseurl + i for j in range(1,7): url = url1 + str(j) html = askURL(url)
2.数据的分析
1.数据的清洗
分析数据中用到了正则表达式查找筛选指定字符串。但因为珍爱网的每一栏都是采用相同的标签和class,这样就不知道是在哪里结束。所以正则表达式后面加上下一栏标签内的文字,就能分清在哪里结束了。 图1
因为相亲男女的其他各栏属性都相同,但其中有一栏男士对应的是月薪,女士对应的是学历。所以可以分开处理。男士的学历和女士的月薪就标记为“未知”。 图2
#详情链接 findLink = re.compile(r'') #图片的链接 findImgSrc = re.compile(r'居住地:') #居住地 findPlace = re.compile(r'居住地:(.*) 年龄:') #年龄 findAge = re.compile(r'年龄:(\d*) .*[月 薪:学 历:]') #月薪 findWage = re.compile(r'月 薪:(.*) 婚况:') #学历 findDip = re.compile(r'学 历:(.*) 婚况:') #婚况 findKuang = re.compile(r'婚况:(.*) 身 高:') #身高 findHeight = re.compile(r'身 高:(\d*) ') #信息 findDetails = re.compile(r'(.*?)',re.S)wage = re.findall(findWage, item) if len(wage) != 0: wage = wage[0] data.append(wage) else: data.append("未知") diploma = re.findall(findDip, item) if len(diploma) != 0: diploma = diploma[0] data.append(diploma) else: data.append("未知")2.数据的保存
使用SQLite将数据保存入数据库中,得到结果
def saveData(datalist,dbpath): init_db(dbpath) conn = sqlite3.connect(dbpath) cur = conn.cursor() for data in datalist: for index in range(len(data)): if index == 5 or index == 9: continue data[index] = '"'+data[index]+'"' sql = ''' insert into zhenaizhenghun ( info_link,pic_link,name,gender,place,age,wage,diploma,hun,height,details) values (%s)'''%",".join(data) print(sql) cur.execute(sql) conn.commit() cur.close() conn.close()
二、数据可视化部分
1.前端框架
前端框架采用的是Start Bootstrap上面的模板,下载好想要的模板直接使用就可以了。
网址:Start Bootstrap
2.写入表格
将数据库的数据写入前端界面中的表格中,代码以及结果如下
序号 昵称 图片 性别 居住地 年龄 月薪 学历 婚况 身高 个人简介 {% for person in zhenai %} 序号 昵称 图片 性别 居住地 年龄 月薪 学历 婚况 身高 个人简介 {% endfor %} {{ person[0] }} { person[1] }}"> {{ person[3] }} { person[2] }}"> 查看图片 {{ person[4] }} {{ person[5] }} {{ person[6] }} {{ person[7] }} {{ person[8] }} {{ person[9] }} {{ person[10] }} {{ person[11] }}
3.echarts图表实现可视化
复制JS代码,在echarts官网选用合适的图表,将数据库的数据写入。实现可视化。
(1)婚姻状况的可视化代码以及结果
(2)学历分布的代码
(3)年龄分布的可视化代码以及结果
猜你喜欢
- 7天前(郭富城热舞劲歌演唱会)郭富城年度压轴《新濠尊属系列郭富城梦幻舞林演唱会2023》
- 7天前(2020海丝之路文化博览会)2023海丝之路文化和旅游博览会开幕
- 7天前(万达酒店及度假村连续五年荣获“中国饭店集团60强”)万达酒店及度假村连续五年荣获“中国饭店集团60强”
- 7天前(夏日旅行海报)夏日旅行|精简行囊 向快乐进发
- 7天前(七尚酒店百度百科)Lohkah七尚酒店首度开创充满新知的闽地研学旅程
- 7天前(云南南博会展馆)旅居云南馆亮相第9届南博会
- 7天前(重庆恐龙化石遗址)重庆黔江恐龙化石抢救性发掘新闻发布会举行
- 7天前(上海迪士尼 夏天)酷爽夏日,奇妙相伴!来上海迪士尼度假区清凉入夏
- 7天前(冬日生活还没安排?上抖音一键打包北方花式过冬精彩)冬日生活还没安排?上抖音一键打包北方花式过冬精彩
- 7天前(芜宣机场国际航班)新华丝路:芜宣机场开通至越南首都河内的国际货运航线
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章