分析武汉二手房房价信息

本文通过爬虫获取武汉二手房数据,分析各区均价、前30高价位区域、前20高价位小区及各户型分布。结果显示,武昌均价高于汉口,关山大道均价超20000元,武汉天地为最高豪宅,三室两厅占比最大。
摘要由CSDN通过智能技术生成

分析武汉二手房房价信息

1. 爬取数据源获取原始数据

2. 分析数据

1)分析武汉各区的二手房均价排名

2)查找武汉二手房均价前30位的区域

3)查找武汉二手房均价前20位的小区名称

4)分析各种户型二手房的数量分布

本文通过分析武汉二手房均价的过程达到练习爬虫及数据分析的目的。

1. 爬取数据源获取原始数据

做数据分析首先得有数据,但是没有数据的话只能自己找了。先上代码

import requests
from lxml import etree
import time
import random
import pandas as pd
import numpy as np

class Price_Spider():
    # 定义初始值
    def __init__(self):
        self.one_url = r'https://hf.lianjia.com/ershoufang/pg{}/'
        self.headers = {
   'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'}`
    # 访问一级页面链接并返回值
    def get_one_html(self,url):
        one_html = requests.get(url=url,headers=self.headers).text
        # print(one_html)
        return one_html
     # 解析一级页面数据
    def parse_one(self,one_html):
        # print(one_html)
        p = etree.HTML(one_html)
        # two_html = p.xpath(r'//div[@class="content"]//div//ul//li//div[1]//div[1]//a[1]/@href')
        two_html_url = p.xpath(r'//div[@class="info clear"]//div[@class="title"]//a/@href')
        # two_html_url = p.xpath(r"//div[@class='info clear']//div[1]/a[1]/@href")
        # print(two_html)
        # self.get_two_html(two_html_url)
        return two_html_url

    # 访问二级页面链接并返回值
    # 二手房详情页面可以从一级页面中解析出来
    def get_two_html(self,two_html_url):
        item_list = []
        for single_two in two_html_url:
            two_html = requests.get(url=single_two,headers=self.headers).text
            # self.parse_two(two_html)
            item_list.append(self.parse_two(two_html))
            # time.sleep(random.randint(1,3))
        return item_list

    # 解析二级页面数据
    def parse_two(self,two_html):
        p = etree.HTML(two_html)
        single_item_list = []
        # 小区
        single_item_list.append(''.join(p.xpath('/html/body/div[5]/div[2]/div[5]/div[1]/a[1]/text()')))
        # 总价
        single_item_list.append((float)(''.join(p.xpath('/html/body/div[5]/div[2]/div[3]/span[1]/text()'))))
        # 单价
        single_item_list.append((float)(''.join(p.xpath('/html/body/div[5]/div[2]/div[3]/div[1]/div[1]/span/text()'))))
        # 面积
        single_item_list.append((float)((''.join(p.xpath('//body/div[5]/div[2]/div[4]/div[3]/div[1]/text()')))[0:-2]))
        # 户型
        single_item_list.append(''.join(p.xpath('/html/body/div[5]/div[2]/div[4]/div[1]/div[1]/text()')))
        # 楼层
        single_item_list.append
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值