前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python采集链家二手房信息

python采集链家二手房信息

作者头像
谭小谭
发布2019-06-03 15:09:37
9790
发布2019-06-03 15:09:37
举报
文章被收录于专栏:谭小谭

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

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

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

1、获取目标网页或接口

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

3、数据保存

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

代码语言:javascript
复制
https://bj.lianjia.com/ershoufang/

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

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

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

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

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

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

代码语言:javascript
复制
    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)

推荐文章:

下载抖音无水印视频

介绍一个好玩的

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 谭小谭 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档