python毕业设计 大数据房价数据分析及可视化 房价分析


1 课题背景

房地产是促进我国经济持续增长的基础性、主导性产业。如何了解一个城市的房价的区域分布,或者不同的城市房价的区域差异。如何获取一个城市不同板块的房价数据?
本项目利用Python实现某一城市房价相关信息的爬取,并对爬取的原始数据进行数据清洗,存储到数据库中,利用pyechart库等工具进行可视化展示。

选题指导,项目分享:

https://gitee.com/yaa-dc/warehouse-1/blob/master/python/README.md

2 数据爬取

2.1 爬虫简介

网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫对某一站点访问,如果可以访问就下载其中的网页内容,并且通过爬虫解析模块解析得到的网页链接,把这些链接作为之后的抓取目标,并且在整个过程中完全不依赖用户,自动运行。若不能访问则根据爬虫预先设定的策略进行下一个 URL的访问。在整个过程中爬虫会自动进行异步处理数据请求,返回网页的抓取数据。在整个的爬虫运行之前,用户都可以自定义的添加代理,伪 装 请求头以便更好地获取网页数据。
爬虫流程图如下:
在这里插入图片描述
实例代码

# get方法实例

import requests #先导入爬虫的库,不然调用不了爬虫的函数
response = requests.get("http://httpbin.org/get")  #get方法
print( response.status_code ) #状态码
print( response.text )

2.2 房价爬取

累计爬取链家深圳二手房源信息累计18906条

  • 爬取各个行政区房源信息;
  • 数据保存为DataFrame;

相关代码

from bs4 import BeautifulSoup  
import pandas as pd
from tqdm import tqdm
import math
import requests  
import lxml
import re
import time


area_dic = {
   '罗湖区':'luohuqu',
            '福田区':'futianqu',
            '南山区':'nanshanqu',
            '盐田区':'yantianqu',
            '宝安区':'baoanqu',
            '龙岗区':'longgangqu',
            '龙华区':'longhuaqu',
            '坪山区':'pingshanqu'}


# 加个header以示尊敬
headers = {
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36',
           'Referer': 'https://sz.lianjia.com/ershoufang/'}

# 新建一个会话
sess = requests.session()
sess.get('https://sz.lianjia.com/ershoufang/', headers=headers)

# url示例:https://sz.lianjia.com/ershoufang/luohuqu/pg2/
url = 'https://sz.lianjia.com/ershoufang/{}/pg{}/'

# 当正则表达式匹配失败时,返回默认值(errif)
def re_match(re_pattern, string, errif=None):
    try:
        return re.findall(re_pattern, string)[0].strip()
    except IndexError:
        return errif

# 新建一个DataFrame存储信息
data = pd.DataFrame()

for key_, value_ in area_dic.items():
    # 获取该行政区下房源记录数
    start_url = 'https://sz.lianjia.com/ershoufang/{}/'.format(value_)
    html = sess.get(start_url).text
    house_num = re.findall('共找到<span> (.*?) </span>套.*二手房', html)[0].strip()
    print('💚{}: 二手房源共计「{}」套'.format(key_, house_num))
    time.sleep(1)
    # 页面限制🚫 每个行政区只能获取最多100页共计3000条房源信息
    total_page = int(math.ceil(min(3000, int(house_num)) / 30.0)
  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
包含文件:Python代码+设计报告 本文主要分析影响房价的因素,数据来源为链家网,机器学习模型的使用中,采用了三种线性模型,一种非线性模型,最后得出的结论是房子的大小,房子的位置,房子的建造年份以及房子的高度对房价影响较大。 目录 房价影响因素分析 1 一、问题描述 1 二、数据收集及处理 2 (1)数据源选择 2 安居客房价信息 2 搜房网房价信息 2 链家网房价信息 2 (2)数据收集 2 (3)数据处理 2 三、采用的模型及原因 3 (1)线性回归模型 3 (2)神经网络 3 (3)支持向量机 3 四、使用的python机器学习库 3 五、建模过程 4 (1)数据特征分析 4 (2)调参 4 (3)结果分析及模型对比 4 六、非线性模型建模 5 (1)非线性决策树 5 (2)结论 5 七、房价查询界面 5 八、改进措施 6 (1)收集更多数据 6 数据集在20000条以下时的训练学习曲线 7 数据集在40000条以下时的训练学习曲线 7 (2)寻找更多特征 8 附录 8 数据采集 9 数据训练 13 一、问题描述 现在房价居高不下,特别是上海等一线城市房价更是高的离谱,那么在决定一个房子的价格中,哪些因素占了主要的地位,如何让想买房的人快速获取大概的房价信息。那么本文介绍的就是如何用机器学习去训练上海房价信息并生成模型然后进行分析的过程。 详细介绍参考博客:https://blog.csdn.net/sheziqiong/article/details/122286264
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值