恒大在售楼盘位置信息爬取与空间制图

2021/9/19 6:05:23

本文主要是介绍恒大在售楼盘位置信息爬取与空间制图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

编程 | 恒大在售小区(含期房)位置信息爬取与空间制图

0.背景

2017年的世界第一房地产公司,账面流动资金3000多亿。如果有人说恒大4年后会出现倒闭风险,没人会信。从扩张到负债累累。

我关注这件事也有一年时间,期间产生了想了解恒大期房的全国分布图。因此进行了下面的探索。

1.结果展示

注意:
1.以下楼盘为在售楼盘,并非全是期房,也有一部分已完工的楼盘以及旧城改造项目。以下简称:恒大在售楼盘;
2.数据来源于恒大官网的售楼信息,共计574个楼盘;
3.地理编码信息来自百度。

1.1地图展示

1.2排名展示

省级的楼盘数如下图所示,四川省居第一:

地级市的楼盘数如下表所示,成都居第二:

县级行政单位的楼盘数如下表所示,没四川的了:

2.研究方法

3.数据处理

3.1 爬取楼盘名

(1)进入恒大的官网(https://www.evergrande.com/Business),发现在售楼盘信息。

(2)使用万能的F12键,抓取恒大的楼盘列表。

(3)观察,url的请求链接为:https://www.evergrande.com/Business/GetProjectList1/?nid=&page=2
其中,page=2为页数,使用浏览器单独获取楼盘列表:

(4)使用爬虫,将恒大的全部在售楼盘爬取出来:

#爬取网页脚本
def read_urls(START_PAGES_ID,END_PAGES_ID):
    for i in range(START_PAGES_ID,END_PAGES_ID,1):
        url=url1+str(i)
        r = requests.get(url,headers=random.choice(header_list))
        print(i.text)
        with open(txt_path_list[ID], "a") as f:
            f.write(r.text + "\n")

3.2 数据清洗

首先,从网站上扒下来的数据格式为:

标签的文字才是我们想要的内容。使用Notepad++,选择正则表达式查找对应位置,就可以获得恒大楼盘的名字:

# 提取标签中的内容
<p]*>([^<\/]+)<\/p>

下面就是获得的恒大在售楼盘的所有名字,共计

3.3 楼盘地理编码

(1)从百度地图API获取楼盘的地理编码

# 引包
import json
from urllib.request import urlopen
from urllib.parse import quote
import requests

# 地理编码
def getlnglat():
    for address in open("恒大楼盘名称的文件",encoding='utf-8'):  # 打开文件
        address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码
        uri ="https://api.map.baidu.com/geocoding/v3/?address="+address+"&output=json&ak="+"百度的token"+"&callback=showLocation"
        r = requests.get(uri, headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"})
        with open("导出百度API的返回结果", "a") as lnglat:
            lnglat.write(r.text + "\n")

(2)数据清洗
用万能的Notepad++,比1Pandas方便很多。下面是数据结果:

3.4 楼盘位置制图

xls表格导入到arcgis里面制图,不作阐述:

3.5 分省、市、县总结

使用arcgis的空间连接工具,统计每个省份、地级市、县的楼盘数量:

3.总结

3.1 技术总结

(1)使用到的工具有:chrome浏览器、Python、Notepad++、arcgis;
(2)因为恒大的楼盘信息没有反爬机制,能够很容易获取所有楼盘信息;
(3)使用notepad++进行数据清洗,非常高效;

3.2 感想

(省略,专注于技术)



这篇关于恒大在售楼盘位置信息爬取与空间制图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程