首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

爬虫抓取深住房租金数据

网站结构简化为两类,静态和动态网页,动态网页大多使用javascript运作,例如airbnb,这类网站可以根据用户行为做出相应的类容调整,因此需要异步爬取。尝试就从静态网页开始。

数据分析的步骤是:数据获取——数据清洗——数据呈现

主要用到的软件:python,Excel

python作为一种编程语言,因为其简单推行速度很快,也产生了越来越丰富的第三方库来支持,即便代码在运行速度上与C语言有差距,但在各种丰富的库加持下,可谓战力大增,即便实现人工智能大概30行代码就完事了。

主要用到是下面这些库:

frombs4importBeautifulSoup #网站结构分析及数据提取

importrequests #网站响应

importre #正则

importxlwt #表格工具

代码的结构很简单:1.网页结构分析及数据获取;2.提取需要的数据;3.导出数据及配合类型

首先,利用浏览器去查看网页的结构及需要爬取的部位情况,包括网页地址规律、爬取数据结构位置等等。之后就利用requests和beautifulsoup来分析网页结构和提取对应的数据

forpageinrange(100):

print(page)

all_url = ('https://sz.****.com/ditiezufang/pg%s'% page)

start_html = requests.get(all_url,headers=headers)

soup = BeautifulSoup(start_html.text,'lxml')

第二步,回到网站网页中细致分析网站前端架构。每一个“li data-index"对应的是每一个户型,在这个标签下面附属了许多带有属性的tags,以下蓝色部分"......"包含的是房间的规模,可见当前户型是一室一厅的布局。以此类推寻找网页中代表性的tags

第三步,利用beautifulsoup根据上述tags的特征,提取相应的数据并利用list将其储存起来以使用,过程中,因为数据是脏数据,利用.join,将不必要的数据剥离,最后逐一添加到list中

floor = soup.find_all('span',attrs={'class':'zone'})

pl3 = []

foreach3infloor:

buju = each3.get_text()

buju1 ="".join(buju.split())

pl3.append((buju1))

第四步,爬取到相应的数据后就是储存数据

workbook = xlwt.Workbook(encoding='utf-8')

worksheet = workbook.add_sheet('p1')

table_head = ['楼盘','面积(㎡)','布局','租金(元)','地址']

head =len(table_head)

foriinrange(head):

worksheet.write(,i,table_head[i])

根据table_head的个数建立表格

headlen =len(pl5)

foriinrange(headlen):

worksheet.write(page*30+i+1,4,pl5[i])

workbook.save('C:\musde\lianjia\sh%s.xls'% page)

提取每个list的长度,在对应的表格填写对应的数据,最后输出excel

第五步,上面的数据还不能直接使用,还需要利用baidumap的geo API来分析楼盘的经纬度,但这部分需要用到json的,使用了一些网站手动完成经纬度转换。实际上也可以直接使用datamap来完成。

第六步,直接利用Excel的三维地图实现数据呈现,专业的话可以使用echarts呈现,选择更多

以上数据仅为局部3000条数据的结果,不能完全体现真实的现状……

经过分析可见到,深圳租金分布情况,当然数据还有其他发掘可能性,暂时保留,下面可以看看,纯粹以单方租金来看最小值和最大值

相比同类数据在上海和广州的,发现上海的租金更贵,广州跟深圳比较接近,可以不分上下吧

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180430G1BA5M00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券