我用 Python 爬了一下西安的房价
干运维也有好几年了,最近看了下西安大概的房价行情,于是就特地去用 Python 爬了一下西安的房价。不得不说,房价还在继续上涨。我常说不管社会如何发展,人的衣食住行总是离不开的。
去年落户政策放开之后,一下落户好几十万人,这也就好理解了。因为对于很多人来说一辈子也就挣一套房。
连岳老师说房子本身是不值钱的,水泥钢筋,可以无限供给,值不了几个钱。房子是因为地点值钱,好地点是稀缺的,你买了,别人就没了。
热点城市,就是稀缺的好地点,房价所以涨得快,再加上法币的持续贬值,房价上涨的速度就更快。
房价持续上涨的地方,才是好地方。这是违背人们直觉的。
房价5年不涨的地方,不是你应该去的地方。这也是违背人们直觉的。
这是任何一个人都可以有自己房子的年代,不仅有房价不涨的地方,甚至还有许多被人放弃的房子,在偏远地区的鬼城,流浪汉可以住在别墅里。你会觉得这种地方幸福吗?
地点不好的地方,甚至流浪汉也不会去,因为连拾荒和乞讨的机会都没有。
下来我们上一下具体的代码,并看一下西安的楼盘价格。
#!/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)
'''
# -*- 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元。
最近写了个比较有趣的 shell。由于公司要用,给大家看一下 shell 中菜单相互调用的效果。
就是选择后继续弹出父菜单,并将内容打印出来。选择时,父菜单调用子菜单。具体效果如图。我们试着执行以下。
具体代码如下:
#!/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
#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
突然发现有些时候写写代码还是挺有趣的,最起码能靠代码养活自己,养活这个家,养活父母。