美文网首页Python
Python爬取分析北京二手房数据?数据结果真的太吓人了

Python爬取分析北京二手房数据?数据结果真的太吓人了

作者: 一条Python代码 | 来源:发表于2020-01-14 21:32 被阅读0次

    有个朋友联系我,想统计一下北京二手房的相关的数据,而自己用Excel统计工作量太过于繁杂,问我用Python该如何实现。

    构造要访问的URL

    这里,我试着抓取北京海淀区二手房的相关数据。首先,是观察一下URL的结构,如下:

    获取每个房子详细信息的URL

    
    推荐Python大牛在线分享技术 扣qun:855408893
    
    领域:web开发,爬虫,数据分析,数据挖掘,人工智能
    
    零基础到项目实战,7天学习上手做项目
    
    

    代码如下:

    采用随机的UA

    ua = UserAgent()

    headers = {'User-Agent': ua.random}

    房屋信息列表

    houseInfoArray=[]

    爬取海淀区全部的数据

    for i in range(1,2):

    res = requests.get('http://bj.lianjia.com/ershoufang/haidian/pg'+str(i),headers=headers)

    使用html筛选器

    soup = BeautifulSoup(res.text, 'html.parser')

    print soup

    网站每页呈现30条数据,依次爬取详细的信息

    for j in range(0,30):

    获取房屋详细信息的链接

    url = soup.select('.sellListContent')[0].select('.img')[j].get('href', None)

    解析每个房子的详细信息

    接下来,获取到每个房子的URL了,就是爬取URL对应的数据并对一个个的房屋获取其详细信息了,思路同上,也是根据源码获取相关的标签,然后获取数据,这里将每个房子的信息保存在字典中。直接贴代码:

    def gethouseInfo(url):

    """

    获取房子的详细信息

    :param url: 子地址

    :param soup: 父XML,可以从中获取小区信息

    :return:

    """

    返回的数据类型为字典

    info= {}

    请求子页面

    res = requests.get(url)

    提取子域名内容,即页面详细信息

    soup=BeautifulSoup(res.text,'html.parser')

    小区信息

    communityName = soup.select('.overview')[0].select('.content')[0].select('.communityName')[0].select('.info')[0].get_text()

    info['communityName'] = communityName

    获取价格信息,包括总价和均价

    price = soup.select('.overview')[0].select('.content')[0].select('.price')[0].select('.total')[0].get_text()

    unit = soup.select('.overview')[0].select('.content')[0].select('.price')[0].select('.unit')[0].get_text()

    info['price'] = price+unit

    unitprice = soup.select('.overview')[0].select('.content')[0].select('.unitPrice')[0].select('.unitPriceValue')[0].get_text()

    info['unitprice'] = unitprice

    获取房屋户型

    room = soup.select('.overview')[0].select('.content')[0].select('.room')[0].get_text()

    info['room'] = room

    获取朝向信息

    type = soup.select('.overview')[0].select('.content')[0].select('.type')[0].get_text()

    info['type'] = type

    获取房屋面积

    area = soup.select('.overview')[0].select('.content')[0].select('.area')[0].get_text()

    info['area'] = area

    return info

    我爬取了30套房子的信息,结果如下:

    area communityName price room type unitprice

    0 86.3平米1988年建/板楼 金沟河3号院 630万 3室1厅中楼层/共6层 南 北简装 73001元/平米

    1 77.1平米2003年建/板楼 百旺新城 620万 2室1厅顶层/共6层 南 北简装 80415元/平米

    2 94.31平米2004年建/板楼 幸福时光 690万 2室1厅高楼层/共6层 南 北简装 73163元/平米

    3 234.12平米2001年建/板楼 万泉新新家园 2980万 4室2厅底层/共6层 南 北平层/精装 127285元/平米

    4 54.5平米1987年建/板塔结合 北洼西里 465万 2室1厅高楼层/共17层 西南简装 85321元/平米

    5 107.99平米2000年建/板楼 玉渊潭南路9号院 1360万 2室1厅中楼层/共6层 南 北精装 125938元/平米

    6 76.07平米2003年建/塔楼 逸成东苑 618万 2室1厅低楼层/共22层 南 北平层/简装 81241元/平米

    7 68.39平米1999年建/塔楼 今典花园 698万 2室1厅低楼层/共26层 南简装 102062元/平米

    8 83.3平米1990年建/板楼 柳林馆 865万 3室1厅中楼层/共6层 南 北简装 103842元/平米

    9 114.94平米2002年建/板楼 当代城市家园 830万 2室2厅中楼层/共11层 南 北精装 72212元/平米

    10 71.6平米1991年建/塔楼 西翠路12号院 710万 3室1厅中楼层/共18层 东北简装 99162元/平米

    11 132.78平米2002年建/塔楼 曙光花园 1258万 3室2厅中楼层/共17层 东南精装 94743元/平米

    12 77.78平米2007年建/塔楼 安宁佳园 520万 2室1厅高楼层/共18层 西南 北其他 66855元/平米

    13 93.7平米1989年建/板楼 塔院小区 850万 3室1厅中楼层/共6层 东 南 北精装 90715元/平米

    14 69.2平米1992年建/板楼 八里庄北里 570万 3室1厅底层/共6层 东 西 北简装 82370元/平米

    15 81.23平米2002年建/塔楼 望河园 710万 2室1厅低楼层/共17层 西南平层/简装 87406元/平米

    16 150.05平米2000年建/板楼 美丽园 1550万 3室2厅低楼层/共7层 南 北精装 103299元/平米

    17 115.04平米未知年建/塔楼 永泰园 690万 2室1厅中楼层/共31层 东北其他 59979元/平米

    18 105.18平米2001年建/塔楼 人济山庄 1260万 2室1厅高楼层/共26层 东精装 119795元/平米

    19 88.96平米2003年建/塔楼 逸成东苑 807万 3室1厅低楼层/共17层 西南精装 90715元/平米

    20 172.56平米2003年建/板楼 万泉新新家园 2498万 3室2厅低楼层/共7层 南 北精装 144761元/平米

    21 140.18平米2010年建/板楼 领秀新硅谷1号院 1150万 3室1厅顶层/共9层 南 北精装 82037元/平米

    22 59.87平米1995年建/板楼 安宁里 410万 2室1厅高楼层/共6层 南 北精装 68482元/平米

    23 76.58平米2000年建/板楼 永泰园 535万 2室1厅中楼层/共6层 南 北简装 69862元/平米

    24 54.7平米1984年建/板楼 翠微南里 528万 2室1厅中楼层/共5层 东南精装 96527元/平米

    25 72.25平米1994年建/板楼 中关村 770万 3室1厅底层/共6层 东 西简装 106574元/平米

    26 59平米1988年建/塔楼 双榆树东里 575万 2室1厅中楼层/共16层 南精装 97458元/平米

    27 57.24平米2000年建/板楼 宝盛里 370万 1室1厅顶层/共5层 东 西简装 64640元/平米

    28 66.87平米2006年建/板楼 观澳园 465万 1室1厅顶层/共9层 南简装 69538元/平米

    29 116.47平米2003年建/板楼 诚品建筑 1080万 2室1厅高楼层/共9层 东 西精装 92728元/平米

    可以发现,海淀的房子无论哪个小区,均价都高哇!那好好学Python吧,用知识武装自己!

    相关文章

      网友评论

        本文标题:Python爬取分析北京二手房数据?数据结果真的太吓人了

        本文链接:https://www.haomeiwen.com/subject/exuenctx.html