都说现在的房价很高,具体有多高呢,我们一起来看看。

现在网上关于房子的价格以及交易信息鱼龙混杂,与实际情况相差比较大,目前链家平台的数据应该是相对比较可靠的,所以这次我们就打算去链家爬一爬。

说到爬虫,前面也有说过,无非就三个主要的步骤

1、获取目标网页或接口

2、从目标网页或接口中解析并提炼出你要的数据字段

3、数据保存

我们今天就以链家平台上北京地区二手房为例,首先是打开目标网页。

https://bj.lianjia.com/ershoufang/

网页下面有分页,一共提供了 100 页数据,也就是说这 100 页都是我们的目标网页,所以第一件事就是要获取到总页数。

打开开发者模式可以看到,有个字段 totalPage 字段,这个字段就是总页数,如下图。

有了总页数之后呢,接下来就是要对这 100 个页面循环解析了,把我们要的字段和数据都解析出来。

为了获取更详细的数据,这里我们进入到详情页去解析数据,同样打开开发者模式,看到有总价 total(总价)、unitPriceValue(单价)、areaName(位置)等字段,这些就是我们要获取的主要字段。

解析得到字段数据后,就要把数据保存起来,保存数据的方式一般有保存到数据库(Mysql、MongoDB)和保存到本地文件(txt、excel、csv),为了方便起见,这里我们将数据只保存到本地 csv 文件。

上面说的就是这个爬虫的大致过程,下面是一段主要代码,在公众号后台回复关键字【链家】可获取完整代码,有需要 csv 文件数据的也可以后台私信联系我哈。

def getContent(self, url):

totalPage = self.getTotalPage(url)

totalPage = 2 #为了方便调试,我这里把总页数写死了

# 循环处理每个目标页面

for pageNum in range(1, totalPage+1 ):

url = "https://bj.lianjia.com/ershoufang/pg{}/".format(pageNum)

print("正在获取第{}页数据: {}".format(pageNum,url))

response = requests.get(url, headers = self.headers)

soup = BeautifulSoup(response.text, "html.parser")

links = soup.find_all("div", class_ = "info clear")

for i in links:

link = i.find("a")["href"]

detail = self.parseDetail(link)

self.datas.append(detail)

#为了防止反爬限制休眠1s

time.sleep(1)

# 数据存储到csv文件中

data = pd.DataFrame(self.datas)

# 自定义字段

columns = ["小区", "户型", "面积", "价格", "单价", "朝向", "电梯", "位置", "地铁"]

data.to_csv("./lianjiaData.csv", encoding='utf_8_sig', index=False, columns=columns)

python链家二手房_python采集链家二手房信息相关推荐

  1. python网址太长_Python GUI-长链转短链

    当我们想要与某人分享链接或将链接放入帖子时,如果链接太长,则会占用大量空间,而且非常缺乏吸引力.在这个时候,我们可以结束长链到短链的转换工具.当然,您可以直接搜索在线网站进行转换,但我们可以使用它来练 ...

  2. python pip工具命令_python 工具链 包管理工具 pip

    Installation mac下可以采用 brew,easy_install(python自带)等方式安装. centos下可以采用yum,easy_install等方式安装. 但是上面两种方式在系 ...

  3. python爬取汽车之家图片_Python 汽车之家 车型全数据 爬取

    所有车型数据 分析发现所有车型数据在一个js文件中: ps:当然也可通过解析网页 xpath提取,或通过接口,获取方式有很多种,此文主要需要seriesId 车型ID 这一项数据 为获取车型价格做准备 ...

  4. python公众号文章_python采集微信公众号文章

    本文实例为大家分享了python采集微信公众号文章的具体代码,供大家参考,具体内容如下 在python一个子目录里存2个文件,分别是:采集公众号文章.py和config.py. 代码如下: 1.采集公 ...

  5. python 涨停统计_Python采集选股宝涨停信息

    本片文章--by 包希仁 1 介绍一下如何用python采集选股宝的涨停信息--主要是涨停原因数据,以便在本地进行后续统计分析. 用到的开发工具 python3.6.pycharm.chrome 2 ...

  6. python打印输出12星座_Python采集12星座信息,分析出12星座的各个特点

    一个微博热搜引发的故事一.故事从这里开始 二.搞事情第一步:搜集图片 三.搞事情第二步:展示图片 四.搞事情第三步:推广链接 五.搞事情第四步:统计分析 1.数据处理2.数据筛选3.统计各天的频率4. ...

  7. python 阴阳师 识别图像_Python采集阴阳师式神全图鉴图片

    https://yys.res.netease.com/pc/zt/20161108171335/data/shishen_big_beforeAwake/201.png https://yys.re ...

  8. python正则匹配特殊字符_python 利用正则表达式提取特殊信息

    1.删除字符串中的 Python注释 案例: import re time = "2020-01-01 # 这是一个日期" num = re.sub(r'#.*$', " ...

  9. python输出日志文件_python将print输出的信息保留到日志文件中

    具体代码如下所示: import sys import os import sys import io import datetime def create_detail_day(): ''' :re ...

  10. python提取word目录_python批量提取word内信息

    单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个python小程序把所需的信息打印出来 #coding:utf-8 import os import ...

最新文章

  1. 网站付费免费推广你更中意哪一个?
  2. mybatis基本增删改查、缓存,延迟加载以及别名的配置
  3. Hadoop中Namenode单点故障的解决方案及详细介绍
  4. C++ 面向对象(三)—— 类之间的关系
  5. mysql 常用命令的使用_MySQL基本命令
  6. Linux下.o,.so,.a,.la文件
  7. private、public、protected、internal修饰符的访问权限
  8. Spring Boot快速注册服务脚本
  9. 算法笔记_面试题_18.动态规划_模板及示例十几道(下)
  10. iBeiKe十周年照片~
  11. swf游戏保存进度_swf游戏
  12. vim 配置(ma6174 + YCM)
  13. 11.HCNA-HNTD——文件系统基础
  14. 贴片铝电容识别及型号_TDK贴片电容识别方法及命名规则
  15. 新零售mysql设计(采购表 入库信息表 入库商品表)
  16. PyCharm控制台显示unicode乱码(python程序)
  17. 百度上传控件webUPload 的使用
  18. (转)【翻译】火影忍者鸣人 疾风传 终级风暴2 制作介绍
  19. 在英特尔硬件上部署深度学习模型的无代码方法 OpenVINO 深度学习工作台的三部分系列文章 - CPU AI 第一部
  20. 其实,男人也需要被疼爱

热门文章

  1. 工作流——流程设计器
  2. 自制裸眼3D图【推荐】
  3. shel文件生成和执行
  4. CSU 1256 天朝的单行道
  5. CSU1256(天朝的单行道)
  6. 武汉芯源CW32L083系列MCU在空气净化器的应用介绍
  7. (什么是 RPC?) AND(什么是域名?)AND (DMA是什么?)AND(IRQ是什么?) 选择自 ycool1984 的 Blog
  8. 尚学堂视频笔记一:java面向对象基础和java基础知识
  9. 2020叉车司机考试及叉车司机模拟考试题库
  10. 阿里巴巴服务器泡进“水里”液冷服务器技术