在当今的互联网时代,数据挖掘和分析已经成为各个行业的重要组成部分。房地产市场,尤其是二手房市场的数据分析,可以帮助我们更好地理解市场趋势与价格波动。本文将介绍如何使用Python爬取链家的二手房数据,并进行简单的数据分析。

一、环境准备

在开始之前,我们需要确定Python环境已经安装,并且安装一些基本的爬虫库和数据分析库。可以使用以下命令安装所需的库:

pip install requests beautifulsoup4 pandas matplotlib

二、爬取链家二手房数据

以下代码示例演示如何爬取链家网的二手房数据。我们以某个城市的二手房页面为例,提取房源的标题、价格与面积等信息。

import requests
from bs4 import BeautifulSoup
import pandas as pd

def fetch_data(page):
    url = f'https://bj.lianjia.com/ershoufang/pg{page}/'
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"
    }
    response = requests.get(url, headers=headers)

    # 判断是否请求成功
    if response.status_code == 200:
        soup = BeautifulSoup(response.text, 'html.parser')
        houses = soup.find_all('div', class_='info clear')
        data = []

        for house in houses:
            title = house.find('a', class_='title').text.strip()
            price = house.find('span', class_='total').text.strip()
            area = house.find('div', class_='area').find('span').text.strip()
            data.append({'标题': title, '价格': price, '面积': area})

        return data
    else:
        print("请求失败")
        return None

if __name__ == "__main__":
    all_data = []
    for i in range(1, 6):  # 爬取前5页数据
        result = fetch_data(i)
        if result:
            all_data.extend(result)

    # 将数据转化为DataFrame
    df = pd.DataFrame(all_data)
    print(df.head())  # 打印前5行数据

三、数据处理与分析

爬取的数据通常需要经过处理才能进行分析。我们可以将价格转换为整数,将面积转化为浮点数,方便后续的统计分析。

# 数据清洗
df['价格'] = df['价格'].str.replace('万', '').astype(int) * 10000  # 将价格转换为整数
df['面积'] = df['面积'].str.replace('平米', '').astype(float)  # 将面积转换为浮点数

# 描述性统计
print(df.describe())

# 绘制价格与面积的关系图
import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))
plt.scatter(df['面积'], df['价格'], alpha=0.5)
plt.title('面积与价格的关系')
plt.xlabel('面积 (平米)')
plt.ylabel('价格 (元)')
plt.grid()
plt.show()

四、总结

通过以上步骤,我们成功实现了从链家网爬取二手房数据,并对其进行了基本的数据清洗与分析。通过绘制价格与面积的关系图,我们可以直观地观察到二手房价格在不同面积上的分布情况。

在实际应用中,数据爬取与分析可以更进一步,例如将数据存储到数据库,实现定时爬取以获取最新数据,或者使用更复杂的分析模型来预测房价趋势等。希望本篇文章能为您在数据分析领域的探索之路提供启示。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部