我用 Python 爬了一下西安的房价

干运维也有好几年了,最近看了下西安大概的房价行情,于是就特地去用 Python 爬了一下西安的房价。不得不说,房价还在继续上涨。我常说不管社会如何发展,人的衣食住行总是离不开的。


去年落户政策放开之后,一下落户好几十万人,这也就好理解了。因为对于很多人来说一辈子也就挣一套房。


连岳老师说房子本身是不值钱的,水泥钢筋,可以无限供给,值不了几个钱。房子是因为地点值钱,好地点是稀缺的,你买了,别人就没了。


热点城市,就是稀缺的好地点,房价所以涨得快,再加上法币的持续贬值,房价上涨的速度就更快。


房价持续上涨的地方,才是好地方。这是违背人们直觉的。


房价5年不涨的地方,不是你应该去的地方。这也是违背人们直觉的。


这是任何一个人都可以有自己房子的年代,不仅有房价不涨的地方,甚至还有许多被人放弃的房子,在偏远地区的鬼城,流浪汉可以住在别墅里。你会觉得这种地方幸福吗?


地点不好的地方,甚至流浪汉也不会去,因为连拾荒和乞讨的机会都没有。




下来我们上一下具体的代码,并看一下西安的楼盘价格。


我用 Python 爬了一下西安的房价

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 15 10:26:06 2017
@author: Administrator
"""


import requests
from bs4 import BeautifulSoup
import time
headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
        }
total=[]
def get_loupan(url):
    try:
        res=requests.get(url,headers=headers)
        soup=BeautifulSoup(res.text,'html.parser')
        titles=soup.find_all('span',class_='items-name')
        title=list(map(lambda x:x.text,titles))
        dizhis=soup.find_all('span',class_='list-map')
        dizhi=list(map(lambda x:x.text,dizhis))
        diqus=soup.find_all('span',class_='list-map')
        diqu=list(map(lambda x:x.text.split('\xa0')[1],diqus))
        mianjis_quan=soup.find_all('a',class_='huxing')
        mianji_quan=list(map(lambda x:x.text,mianjis_quan))
        mianjis=soup.find_all('a',class_='huxing')
        mianji=list(map(lambda x:x.text.split('\t')[-1].strip(),mianjis))
        jiages=soup.find_all('a',class_='favor-pos')
        jiage=list(map(lambda x:x.p.text,jiages))
        for tit,dizhi,diqu,mianq,mianj,jiage in zip(title,dizhi,diqu,mianji_quan,mianji,jiage):
            info={'标题':tit,
                  '地址':dizhi,
                  '地区':diqu,
                  '面积(全)':mianq,
                  '面积':mianj,
                  '价格':jiage}
            total.append(info)
    except:
        print('')
    return total
if __name__ == '__main__':
    for i in range(1,21):
        url='https://xa.fang.anjuke.com/loupan/all/p{}/'.format(i)
        get_loupan(url)
        print('第{}页抓取完毕'.format(i))
        time.sleep(1)
import pandas as pd
df=pd.DataFrame(total)
df.to_excel('西安安居客.xls')


'''
import re
titles=re.findall('<span class="items-name">(.*?)</span>',res.text)
print(titles)
'''


最后将信息全部保存在 Excel中。可以看看西安的房价行情。可以看到一个大概的均价。平均二手房均价一平为 12459元,新房均价一平为 14812元。


我用 Python 爬了一下西安的房价




最近写了个比较有趣的 shell。由于公司要用,给大家看一下 shell 中菜单相互调用的效果。


我用 Python 爬了一下西安的房价


就是选择后继续弹出父菜单,并将内容打印出来。选择时,父菜单调用子菜单。具体效果如图。我们试着执行以下。


我用 Python 爬了一下西安的房价

具体代码如下:


#!/bin/bash
#date:2019-11-24
#menu.sh
source ~/.bashrc
mainmenu(){
echo "----------------------------------"
echo "please enter your choise:"
echo "(0) cunhuo"
echo "(1) finger"
echo "(2) poc"
echo "(3) Exit Menu"
echo "----------------------------------"
read input
submenu
}

submenu(){
case $input in
    0)
    ssh -V
    echo cunhuo版本为:3.0
    echo cunhuo;
    mainmenu
    ;;
    1)
    ssh -V
    echo finger版本为:4.0
    echo finger
    mainmenu
    ;;
    2)
    ssh -V
    echo poc版本为:5.0
    echo  poc;
    mainmenu
    ;;
    3)
    exit;;
esac
}

mainmenu




突然发现有些时候写写代码还是挺有趣的,最起码能靠代码养活自己,养活这个家,养活父母。