/lianjia-crawler

链家房价爬取

Primary LanguageHTML

lianjia-crawler

项目描述

本项目旨在爬取链家网站上关于各片区房价的信息,并基于这些数据生成层次图和热力图。

主要文件及使用顺序

  1. 房价爬取/链家房价爬取 Ver4.0.py

    • 根据深圳分区链接.csv中的内容,自动爬取每个链接中的所有页面房价信息,并将结果单独保存至Crawling-temp文件夹中对应的csv文件里。
    • 深圳分区链接.csv需用户根据链家网站的导航栏内容自行爬取和替换。
  2. 格式处理/数据清洗 Ver2.0.py

    • 对爬取的数据进行清洗,并添加前缀以提高后续坐标获取的准确度。
    • 若爬取内容非深圳市,需要进行相应的修改。
  3. 百度地图经纬度获取/百度API获取经纬度 Ver2.0.py

    • 需要在百度地图API控制台获取地理编码的WebAPI的AK。可以使用APIKey测试.py进行测试。
    • 这里更推荐使用腾讯地图api获取经纬度,每日免费额度1w条(高德5k,百度5k),并且坐标系使用的是GCJ-02(高德相同,百度为BD-09),folium底图方面也可以直接替换为腾讯和高德的公开瓦片(百度找了一圈没找到)更美观且准确。
  4. 地图房价热力图/坐标协议转换.py

    • 将百度的BD-09坐标转换为folium底图默认的WGS84坐标。转换后的坐标将新增两列保存于原有文件中。
  5. 地图房价热力图/小区去重 Ver2.0.py

    • 对数据进行精简,使得每个小区只有一个数值进行绘制,避免地图资源的过度占用。
  6. 地图房价热力图/Shenzhen_Choropleth_map.py / Shenzhen_heatmap_log.py

    • 根据房价总价/单价绘制层次图或热力图。
  7. 地图房价分层图(高德底图)/Shenzhen_Choropleth_map.py / Shenzhen_heatmap_log.py

    • 使用高德底图进行绘制,避免网络原因导致的地图无法加载,坐标系更变为GCJ-02,需重新运行该文件夹下坐标协议转换.py小区去重 Ver2.0.py后进行地图绘制。