python用线性回归预测房价:python爬虫实战爬取某城市房价并分析各区县房价均值
python用线性回归预测房价:python爬虫实战爬取某城市房价并分析各区县房价均值关键代码:爬取了近400个有售价的楼盘,并存到data.cvs文件中。matplotlib:绘图包数据源:爬取的是安居*网站合肥市新房售价数据,如下图所示,可以爬取楼盘所在小区和售价。
本文介绍python爬虫实例使用urllib爬取数据,使用BeautifulSoup提取信息,使用pandas分析数据,使用matplotlib绘图,完整代码获取方式见文章末尾。
1. 使用技术urllib:网络请求包
BeautifulSoup:html分析包
pandas:数据分析包
matplotlib:绘图包
2.爬取数据数据源:
爬取的是安居*网站合肥市新房售价数据,如下图所示,可以爬取楼盘所在小区和售价。
爬取了近400个有售价的楼盘,并存到data.cvs文件中。
关键代码:
req = request.Request(url headers=headers) page = request.urlopen(req) #爬取的文本 contents = page.read() #获取class为“pl-name”第一个元素的文本 name = item.select(".lp-name")[0].get_text()
抓取的数据具体如下图所示:
爬取的数据
3.分析数据关键代码:
#读取数据 datas = pd.read_csv("./datas.cvs") #根据area分组求均值 ave = datas.groupby("area")[["price"]].mean() #防止中文乱码问题 mpl.rcParams['font.sans-serif']=[u'SimHei'] mpl.rcParams['axes.unicode_minus']=False #设置为柱状图 ave.plot(kind='bar') #设置x轴距底部边距,完整显示x轴label plt.subplots_adjust(left=0.1 right=0.9 top=0.9 bottom=0.25) plt.show()
分析结果:
各区域楼盘平均值如下图所示:
各区域楼盘均价
4.图表中文显示问题Mac需要先下载simhei.ttf字体并安装,将simhei.ttf拷贝到~python安装路径/site-packages/matplotlib/mpl-data/fonts/ttf目录中;
修改~python安装路径/site-packages/matplotlib/mpl-data/matplotlibrc文件。找到如下两项,去掉注释。
font.family : sans-serif font.sans-serif : SimHei Bitstream Vera Sans Lucida Grande Verdana Geneva Lucid Arial Helvetica Avant Garde sans-serif
将找到axes.unicode_minus,将True改为False,并去掉注释;
mpl.rcParams['font.sans-serif']=[u'SimHei'] mpl.rcParams['axes.unicode_minus']=False
源码获取:关注后私信“python爬虫”即可获取