Cityview Save

对于刚毕业的学生来说,一座城市适合自己的发展就是自己心目中的宜居城市,我们需要考虑到有没有合适的工作,其次是租房买房的价格,然后城市的气候、空气质量、美食、旅游景点等等。本平台通过网络爬虫就城市的招聘、租房、城市的气候、空气质量指数、美食、旅游景点等等数据进行爬取入库,最后再进行数据的分析统计处理,并通过web可视化的方式展现这些信息变化的特征。目的就是减少用户收集信息的时间,并为用户选择心目中的宜居城市提供更有利的依据。

Project README

毕业设计-宜居城市信息可视化平台

1.数据来源

1.1招聘信息

  招聘信息的数据来源为智联招聘,首先构造出城市+工作职位的url,以便我们更好的搜索数据和解析页面数据。例如http://sou.zhaopin.com/jobs/searchresult.ashx?jl=北京&kw=java (jl后边的是城市,kw为职位名), 根据此url解析第一页获取工作数量,智联招聘一页最多显示60条工作职位的信息,一共显示90页,所以我们根据获取的工作数量来确定需要抓取数据的页数,条数大于90页的则获取90页,小于90页的则使用实际页数。然后根据页数构建出最终的url:http://sou.zhaopin.com/jobs/searchresult.ashx?jl=北京&kw=java&p=1(p为页码) 。最后抓取每一页上对应具体工作的url所对应的工作信息及其公司信息。统计出最大工资与最小工资的平均工资,中位数工资,以及工资和工作经验的关系等

1.2房租信息

  房租信息数据主要来源于赶集网,同样首先构建出对应城市url,例如:http://{}.ganji.com/fang1/o{}/ (第一个{}表示城市的汉子拼音首字母,第二个{}为页数),这里我们只抓取30页。统计出该城市有哪些中介公司,房屋的朝向和价格的关系,计算出每平米的价格等等。

1.3城市气候信息

气候信息数据主要来源于天气网,构建出的url为http://lishi.tianqi.com/{}/index.html ({}为城市汉子的拼音)。抓取该城市自2011-01-01以来的所有天气信息。统计出对应的历史天气,风向、风力以及每月的气温变化等。

1.4空气质量指数信息

   AQI信息数据主要来源于中国空气质量在线监测分析平台历史数据网,构建出的url为https://www.aqistudy.cn/historydata/monthdata.php?city=北京 PM2.5历史数据网的数据主要是2013年12月到现在的数据。抓取每个月的数据统计量以及每月对应每天的数据量。统计AQI月变化的趋势以及等级月变化的趋势,统计等级的月数和天数。

1.5旅游景点信息

景点信息数据主要来源于欣欣旅游网,构建的url为:http://{}.cncn.com/jingdian/1-{}-0-0.html (第一个{}为城市名的拼音,第二个{}为页数),首先抓取对应的页数,然后再针对每一页抓取当前城市的所有景点信息。将对应的景点的照片下载到本地,列表展示景点信息,统计出景点的热度排名。

1.6美食信息

 美食信息数据也来源于欣欣旅游网,构建的url为:http://{}.cncn.com/meishi/index{}.htm (第一个{}为城市名的拼音,第二个{}为页数)。同样先抓取页数,如果所抓取的页数为空,则说明只有一页。抓取该城市的所有美食信息,将美食图片下载到本地,列表展示之,并根据热度进行排名。

2.HTML解析器使用的是Jsoup,数据可视化使用的是纯Javascript的图表库ECharts

3.反爬虫及去重问题

 平台上有相关的代码,但没有实际应用,这里说一下大体思路。对于反爬虫可设置代理IP池,每次解析url地址时,自动设置动态IP代理,在验证IP代理的有效性上,弄三个任务,第一个定时抓取IP代理地址,第二个用来检查代理的可用性,以打开百度为例,如果代理能正常访问百度,则将此代理加入文件或者数据库,否则放弃。第三个负责处理可用,但是已经过期的代理。项目中免费的ip代理的来源有西刺免费代理IP、快代理、开心代理IP平台,但是大多数的代理都不稳定。
 对于网页的去重使用的是BloomFilter算法去重策略+单列模式。

Open Source Agenda is not affiliated with "Cityview" Project. README Source: shenxianchun/cityview
Stars
47
Open Issues
2
Last Commit
5 years ago

Open Source Agenda Badge

Open Source Agenda Rating