Python分析中国大陆各直辖市及各省省会的平均工资与平均房价

Python分析中国大陆各直辖市及各省省会的平均工资与平均房价 研究目的 近期网络上关于“躺平”的争论很多,但可以看出支持“躺平”的多是以90后为主的年轻人

本文包含相关资料包-----> 点击直达获取<-------

Python分析中国大陆各直辖市及各省省会的平均工资与平均房价

研究目的

近期网络上关于“躺平”的争论很多,但可以看出支持“躺平”的多是以90后为主的年轻人,反对“躺平”的是中老年人,而让年轻人“躺平”很大的一个原因便是高昂的房价。因此我想爬取相对客观的数据,看看各直辖市和各省省会的平均工资与房价是多少,分析房价是不是真的高到买不起,高到让年轻人躺平的地步。

爬取数据的来源

爬取平均工资的网站:薪酬网

爬取平均房价的网站:安居客

很诡异的一件事是在安居客上查询不到深圳的平均房价,但深圳既不是直辖市也不是省会城市故我不再深究

爬取数据中遇到的问题

在大数据越来越重要,爬虫技术越来越先进的今天,反爬虫的手段也愈加高明。在爬取薪酬网的数据时,即使伪装了头部信息、设置了休眠时间依然会被识别为爬虫;而在爬取安居客数据时,它不仅会设置验证信息,网页还会动态变化。比如某一时刻,福州网页的网址为https://fuzhou.anjuke.com/market/而过了某个时间段后其网址就变为https://fz.anjuke.com/market/,我只好先把这31个城市的平均工资和平均房价的网页先爬取下来再爬取相关的数据。

爬取相关数据

爬取平均工资:

Average_wage_get.py,输出data1

代码:

```python text = get_text_from_saved_html(city_lst[i]) # 从保存的html里获取网页内容 soup = BeautifulSoup(text, 'html.parser') city_name = '' # 创建一个空字符串用来存放城市字符串 wage_str = '' # 创建一个空字符串用来存放房价字符串

sf1 = soup.find(class_="card-header") # 查找城市名所在位置 st1 = sf1.text.replace(" ", "").strip() # 去掉空格、换行符等 flag = 0 while not st1[flag].isdigit(): city_name += st1[flag] flag += 1 city_name.replace('市', '') city.append(city_name)

sf2 = soup.find(class_="text-center justify-content-between") # 查找平均工资所在位置 st2 = sf2.text.replace(" ", "").strip() # 去掉空格、换行符等 flag = 0 while st2[flag] != "C": wage_str += st2[flag] flag += 1 wage_num = eval(wage_str) # 将字符串转换为数字 wage.append(wage_num) ```

爬取平均房价:

Average_housing_price_get.py,输出data2

代码:

```python city = [] # 创建一个列表用来存放城市 housing_price = [] # 创建一个列表用来存放房价

for i in range(len(city_lst)): # 遍历传入的城市列表,查找保存的网页中城市名及对应房价 text = get_text_from_saved_html(city_lst[i]) # 从保存的html里获取网页内容

soup = BeautifulSoup(text, 'html.parser')
sf = soup.find(class_="highLight")  # 根据浏览器检查网页内容确定了所要寻找的信息所在位置
city_name = ''  # 创建一个空字符串用来存放城市字符串
housing_price_str = ''  # 创建一个空字符串用来存放房价字符串

st = sf.text.replace(" ", "").strip()   # 去除空格、换行符等
flag = 0   # 标记位置
while not st[flag].isdigit():  # 获取城市字符串
    city_name += st[flag]
    flag += 1
city_name.replace('市', '')
city.append(city_name)

for j in range(-9, -4):  # 获取房价字符串
    housing_price_str += st[j]
housing_price_num = eval(housing_price_str)  # 将房价由字符串型转换为数字型,为后续计算做准备
housing_price.append(housing_price_num)

```

数据处理

从Average_wage_get.py导入data1,从Average_housing_price_get.py,输出data1,在data_handle.py里用pandas输出类型为DataFrame的data保存到.csv和.xlsx文件

代码:

```python city_lst = [] # 省会直辖市列表 average_wage_lst = [] # 平均工资列表 average_housing_price_lst = [] # 平均房价列表 time_lst = [] # 不吃不喝买房所需时间 data = dict() # 创建一个数据字典用来汇总所有的数据

for i in data2.keys(): # 从数据2获取键放入城市列表中 city_lst.append(i) for i in data1.values(): # 从数据1获取值放入平均工资列表中 average_wage_lst.append(i) for i in data2.values(): # 从数据2获取值放入平均房价列表中 average_housing_price_lst.append(i) for i in range(len(city_lst)): # 计算每个城市在不吃不喝(即工资完全用来买房)的情况下用平均工资买房要花多长时间 months = round(average_housing_price_lst[i]*100/average_wage_lst[i]) + 1 # 因为房贷少交一个月都不行所以四舍五入+1 years = round(months/12) + 1 # 同上 time_lst.append(years)

data["city"] = city_lst # 城市字典 data["wage"] = average_wage_lst # 平均工资字典 data["housing_price"] = average_housing_price_lst # 平均房价字典 data["time"] = time_lst # 买房花费时间字典

df = pd.DataFrame(data) # 创建DataFrame,输出为.csv和.xlsx文件 df.to_csv('大陆各省会直辖市平均工资及平均房价.csv', encoding="utf-8", index=False) df.to_excel('大陆各省会直辖市平均工资及平均房价.xlsx') ```

数据展示

在Data_Show.py中读取大陆各省会直辖市平均工资及平均房价.xlsx,用matplotlib.pyplot模块作图。

参考文献

  • 区域房产信息统计系统设计与实现(大连理工大学·张玉梅)
  • 基于J2EE的房产交易平台的研究与实现(复旦大学·叶頲)
  • 房地产管理信息系统的设计与实现(北京邮电大学·张乐)
  • 基于SSH框架的工资管理系统的设计与实现(电子科技大学·张祎荻)
  • 平潭建设局人力资源管理系统的设计与实现(电子科技大学·高陈晟)
  • 房地产销售信息管理系统的设计与实现(西南交通大学·文燕)
  • 基于B/S的公司工资信息管理系统设计与实现(大连理工大学·吴万强)
  • 基于.NET的住房货币化管理信息系统的设计与实现(吉林大学·李剑锋)
  • 基于SSH 的人事工资管理系统的研究与开发(中国海洋大学·李萍)
  • 网络流量统计分析系统(吉林大学·石景龙)
  • 基于web的房屋租赁系统的设计与实现(华中科技大学·姜子旋)
  • 基于web的房屋租赁系统的设计与实现(华中科技大学·姜子旋)
  • 昆钢房地产公司成本管理系统的设计与实现(山东大学·许向玉泉)
  • 哈尔滨市房产权属登记业务信息管理系统的设计与实现(电子科技大学·李洪强)
  • 基于web的房屋租赁系统的设计与实现(华中科技大学·姜子旋)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码驿站 ,原文地址:https://m.bishedaima.com/yuanma/36011.html

相关推荐

  • 基于JSP酒店预订管理系统平台、javaweb+mysql

    毕业论文绪论: 本论文旨在探讨基于JSP酒店预订管理系统平台的设计与实现,随着旅游业的不断发展,酒店预订管理系统成为了酒店行业的必备工具之一,本系统基于JSP+Servlet+Mysql技术
    2024年05月07日
    8 1 3
  • 基于SpringBoot框架的小区团购管理

    这是一项利用Java语言构建的🏡🏡SpringBoot框架为核心的社区团购管理系统源代码,我们采用了现代化的SpringBoot和Vue技术栈进行开发,支持Idea或Eclipse等开发工具
    2024年05月23日
    3 1 1
  • 基于Python的Django框架实现的任务管理系统

    基于Python的Django框架实现的任务管理系统 一,系统简述 该系统是一个任务管理的系统,主要执行三种类型的任务:Web服务,远程脚本,可执行文件
    2024年05月14日
    1 1 1
  • 基于Java+SSH的企业人事管理系统

    这是一个🔥🔥基于SSH的企业人事管理系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 企业人事管理系统开发技术栈为SSH项目,可以作为毕业设计课程设计作业基于Spring
    2024年05月23日
    7 1 2
  • 基于javaweb开发网上购物系统

    网上购物系统软件需求规格说明书 一,关于此项目 1,1, 开发周期 本项目的开发周期为 2016 - 2017 学年第一学期,项目启动时间为 2016 年 9 月 5 日
    2024年05月14日
    25 1 4
  • 基于SSM的内容管理系统源码-免费下载

    这是一个🔥🔥基于SSM的内容管理系统源码-免费下载🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 内容管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业使用SSM框架(Spring
    2024年05月23日
    1 1 1
  • 基于Python实现ID3算法

    1,作业任务 编程实现 ID3 算法,针对下表数据,生成决策树, ID color size act age inflated 1 YELLOW SMALL STRETCH ADULT T 2 YELLOW SMALL STRETCH CHILD T 3 YELLOW SMALL DIP CHILD F 4 YELLOW LARGE STRETCH ADULT T 5 YELLOW LARGE DIP ADULT T 6 YELLOW LARGE DIP CHILD F 7 PURPLE SMALL STRETCH CHILD T 8 PURPLE SMALL DIP ADULT T 9 PURPLE SMALL DIP CHILD F 10 PURPLE LARGE STRETCH CHILD T 问题提示:可设计数据文件格式
    2024年05月14日
    1 1 1
  • 基于Python实现个人信息系统

    1, 课程设计目的 《软件设计基础-Python》课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖Python的知识点,又接近工程实际需要
    2024年05月14日
    3 1 1
  • JavaWeb实现足球队管理系统

    JavaWeb 毕业设计项目-足球队管理系统(一)系统结构图 + 用例图 系统功能结果图: 管理员(球队经理)用例图: 教练组用例图: 球员组用例图: JavaWeb 毕业设计项目-足球队管理系统(二)成品展示 + 业务介绍 1
    2024年05月14日
    4 1 2
  • 基于SpringBoot框架的城镇保障性住房管理系统

    这是一套采用Java语言编写的🔥🔥SpringBoot框架下的城镇保障性住房管理系统的源代码,该项目运用了SpringBoot和Vue技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    9 1 1

发表回复

登录后才能评论