您的位置:首页 > 编程语言 > Python开发

【python爬虫】二手房房源数据抓取示例

2018-10-30 22:58 155 查看

朋友最近在天津打算买房,于是帮她收集了链家网在售的二手房源数据,供她参考。

python版本是python3.7

所用代码如下,若有误,欢迎指正:(代码稍微调整一下,可以抓取类似“链家网”网页结构的其它数据)

from parsel import Selector
import requests
import time
lines=[]
for i in range (1,3): #根据官网公布的数量,除以每页的数据-30条,计算出要抓取的页数;一开始可以先抓取1-2页数据,进行测试;
base_url='https://tj.lianjia.com/ershoufang/pg%s/'
url=base_url % i
content=requests.get(url)
time.sleep(2) #休眠2秒,防止操作太频繁
sel=Selector(text=content.text)
for x in sel.css('.info.clear'): #利用Chrome开发者工具查到的路径
#为了剔除重复项,抓取了不少字段筛选,4.8万多条数据,仅剩3千条有效数据;
title=x.css('a::text').extract_first()
community=x.css('.houseInfo>a::text').extract_first()
address=x.css('.address>::text').getall()#有些路径是并列关系,且是同一名称,用extract_first无法正常抓取,此处用getall解决;
flood=x.css('.flood>::text').getall()
totalPrice=x.css('.totalPrice>span::text').extract()
#为了在“地图无忧”软件查看小区数据分布时,不至于把数据扩充到全国的同名小区,lines.append处加上城市名称“天津”;
lines.append('%s,天津%s,%s,%s,%sW' % (title,community,address,flood,totalPrice))
print("lines",lines)
with open('tjeszs.csv','w') as f:
for line in lines:
f.write (line)
f.write('\n')

查看数据:

import pandas as pd
x=pd.read_csv("/Users/xxxx/Documents/tjeszs.csv") #若不清楚文件路径,(Mac系统的朋友)可以把文件拖进终端查看
print(x) #此处选取了所有数据

#可选取部分数据
print(x.head(4)) #选取除了标题之外的前4条数据
print(x[1:200]) #选取除了标题之外的199条数据

本次导出的48329条数据中,通过所有字段(不含图片)剔除了重复项,只剩3000条有效数据,再通过条件筛选,只剩77条合适的数据。

(导入“地图无忧”进行分析,集聚在哪个区/交通布局/区均价估算等)

已建议朋友对市中心的房源数据进行筛选

ps.在这提醒一下买房的朋友,一定要注意“确权”。

记得以往上课的时候,老师(律师)说过,建议买房前(以下示例问题针对二手房居多),请律师过目合同上的所有条款,避免字眼转换等而导致纠纷;楼梯等有没有计入居住面积;交房的时候,有没有法律上公认的过户,千万不要以为给了定金或签了合同,就万事大吉了,没有真正过户,恐怕之后会有一堆麻烦;卖房的房主是否有民事/刑事纠纷,该房产是否会被银行收回进行拍卖等等,一定要了解清楚,不要急着签,更不要被中介忽悠一下就买了,要多留个心眼,可以在购买之前请求一下律师朋友的建议和意见,避免诸多纠纷。

而购买新房的朋友,建议注意交房时间,不要过多关注样板房,关注整个品牌的口碑,可以询问已购买这个品牌房源的朋友,听听他们的评价。若某个品牌出现交房时装修破烂不堪,连客服热线都撤了的情况,则会很糟心;到时维权,还得顾及媒体与这个品牌的关系;而该房企的利益关系,是否会阻碍维权等。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: