2019年过去了,突然想看看外界一直在说的房价跌跌跌,到底跌成了啥样子,于是,花了点时间,把链家上北上广深杭这几个热门城市的二手房单价弄下来看看。

直接上代码了

(临近过年,懒了许多,代码写得很简单,各位看官可以跳到最后直接看房价情况即可)

import requests
from bs4 import BeautifulSoup
import pandas as pd
import time#把常用的定义成2个函数方便使用
def get_html(url):headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}res = requests.get(url,headers = headers)code = res.status_coderes.encoding = 'utf-8'soup = BeautifulSoup(res.text,'lxml')return soup,codedef get_data(soup,list_price):items = soup.select('ul[class="sellListContent"] div[class="priceInfo"]')#print(items)for item in items:try:item.texttry:list_price.append(item.select('div[class="unitPrice"]')[0].text[2:-4])except:continueexcept:continue#广州
list_price = []
list_position = []
url1 = 'https://gz.lianjia.com/ershoufang/'
a = ['tianhe','yuexiu','liwan','haizhu','panyu','baiyun','huangpugz','conghua','zengcheng','huadou','nansha']
b = [100,100,100,100,100,100,100,47,100,100,69]
for i in range(0,11):url2 = url1+a[i]print("开始爬取"+a[i])time.sleep(3.23422) #这里的暂停可要可不要,我比较善良,爬一个区就让它休息一下for j in range(1,b[i]+1):url = url2+'/pg%d/'%j#print(url)soup,code = get_html(url)get_data(soup,list_price)list_position = list_position + ([a[i]]*(len(list_price)-len(list_position)))print('爬取完成第%d页'%j)time.sleep(0.00593)df = pd.DataFrame()
df['价格'] = list_price
df['区域'] = list_positiondf['价格'] = df['价格'].astype(int)
print("全市均价:",df['价格'].mean())
print(df.groupby('区域')['价格'].mean().sort_values(ascending=False))

代码里我偷懒了好多地方,各个城市我都是直接按行政区划分取数了,代码里的a就是区域,b就是各个区域对应的页数(直接一个一个码上去了,没有去写获取),但是链家网有一个限制,一个选项只能展示100页(3000套房)的房源情况,所以有些区域本来有好几千套房的,但是我最多也就取了3000套(不管了,反正只是要看一下区域单价,只能取3000套就当是抽样了)。

如果是要完整获取所有房源的单价,可以先获取城市下各个区域的href(下图1),然后进行url拼接,再到各个区域中取出各个小板块的href(下图2),最终拼接成各个板块的url,最后一步,根据各个板块url最下方的页码栏,取出各个板块有多少页房源(下图3),(极大概率下,板块的房源不可能会超过3000套的,如果真的有,那你再在各个板块了根据价格细分就行了)。

 

最最重要的是,把各个城市的房价情况弄出来给大家看(我坚信大部分童鞋是不会自己去跑脚本看结果的) 

看了一下,讲真这房价一点都不亲民,广州是四个一线城市中上车成本最低的,均价甚至不及二线城市杭州高。

python爬虫刨北上广深的房价来看看相关推荐

  1. 房价爬虫以及北上广深等城市近几年房价趋势

    最近,我爬取了各大城市近几年的成交房价趋势.展示如下. 北上广深近几年房价趋势 杭州宁波合肥厦门近几年房价趋势 长沙成都重庆近几年房价趋势 青岛 西安 苏州 大连 南京 欢迎关注,获取爬虫代码.

  2. 北上广深杭房价高压下,这也许是软件测试员扎根的唯一出路...

    简单算一笔账,目前小公司软件测试员工资一般是1万出头,年薪普遍在20万以下.在不考虑通胀和工资增长的情况下,除去吃喝需要攒30年才能攒出一线城市房子的首付,以这样的收入水平,基本上没法扎根. 想拿高薪 ...

  3. 北上广深杭房价高压下,这也许是程序员扎根的唯一出路...

    简单算一笔账,目前小公司Java后端工资一般是1万出头,年薪普遍在20万以下.在不考虑通胀和工资增长的情况下,除去吃喝需要攒30年才能攒出一线城市房子的首付,以这样的收入水平,基本上没法扎根. 想拿高 ...

  4. 北上广深的程序员,房子在向你们招手了!

    由于目前行业环境以及生存所迫,作为北上广深的程序员,不得不首先考虑两件事: "我真的决定扎根在这儿吗?" "我真的买得起这儿的房吗?" [房价,是爱恨情仇] 北 ...

  5. 北上广深之外,互联网经济也在杭州成都西安武汉异军突起

    二十年来,北上广深一直是中国互联网产业的最前沿.但近年来,事情正在起变化. 风头最劲的首推杭州.随着阿里巴巴成为世界级的互联网巨头,整个杭州也几乎成了电商之城,在中国互联网产业的版图上独树一帜. 另外 ...

  6. 利用python + pyecharts+Pandas对北上广深等城市进行租房数据分析

    本次分析的租房数据主要来源于上一篇博客中获取的"房天下"网站租房信息,对该数据分析主要使用了Pandas数据处理库. 利用python pyecharts进行租房情况数据分析 数据 ...

  7. 用Python分析北上广深租房情况,租房时优先考虑哪些因素?

    俗话说"金三银四",又到了换工作.乃至换城市的时候了.这对于"回望楼价又一年"的小伙伴们来说,也意味着又到了搬家换房子的时候了.北上广深四个一线城市,哪个城市的 ...

  8. 太酷炫了,我用 Python 画出了北上广深的地铁路线动态图

    今天教大家用python制作北上广深--地铁线路动态图,这可能是全网最全最详细的教程了. 坐标点的采集 小五之前做过类似的地理可视化,不过都是使用网络上收集到的json数据.但很多数据其实是过时的,甚 ...

  9. python空气质量分析报告_Python数据可视化:2018年北上广深空气质量分析

    原标题:Python数据可视化:2018年北上广深空气质量分析 作者:法纳斯特,Python爱好者,专注爬虫,数据分析及可视化 就在这周偶然看到一个学弟吐槽天津的空气,不禁想起那段厚德载雾,自强不吸的 ...

最新文章

  1. ECMAScript 6 模板字面量的常见用法
  2. win8mysql安装教程zip_mysql 8.0.18.zip安装配置方法图文教程(windows 64位)
  3. ps光效插件_全套光效PS插件(2019),只有你想不到的,没有它做不到的PS特效...
  4. 你不知道的事---SringCloud的feign的继承特性
  5. GLSL实现滤镜效果
  6. 图解Windows下使用SSH Secure Shell Client远程连接Linux
  7. VS2013 生成时复制文件或目录到指定目录
  8. RocketMQ的Producer详解之顺序消息(原理)
  9. 如何利用Gitlab-CI持续部署到远程机器?
  10. django权限二(多级菜单的设计以及展示)
  11. debian添加删除用户
  12. micropython教程nucleo-f767zi开发板_教你做CMSIS-DAP仿真器(基于Nucleo-F767ZI)
  13. WINHTTP的API接口说明
  14. matlab 8点fft蝶形图,FFT快速傅里叶变换(蝶形算法)详解精要.ppt
  15. VS2019 +easyx 实现闪烁的星空(夜景)
  16. 西魏拓地与侯景防线之关系
  17. 使用ngrok实现内网穿透,免费在本地发布项目
  18. leetcode账号手机号换绑
  19. Mysql中decode函数的几种用法
  20. IG出事了!数百万名人用户资料被曝光

热门文章

  1. 深圳:生活、工作节奏最快的城市
  2. Linux 驱动 | SPI子系统
  3. 为什么在校大学生都要考计算机证书?要考几个证?
  4. python用input输入list_python怎么用input函数输入一个列表
  5. pbe近似_量子化学中的主要近似
  6. linux驱动程序设计21 Linux设备驱动的调试
  7. error: (-215:Assertion failed) src.checkVector(2, CV_32F) = = 4 dst.checkVector(2, CV_32F) == 4
  8. Python每日一练(13)-IQ智商判断及测试
  9. php命令执行后门,php后门木马常用命令
  10. 20190121——不羡神仙 Java抽象工厂模式