爬取贝壳和房天下

您所在的位置:网站首页 房天下数据真实吗 爬取贝壳和房天下

爬取贝壳和房天下

2024-06-14 01:39| 来源: 网络整理| 查看: 265

前言

在港校做RA期间,本周老师安排了爬取国内二手房的交易网站,我先调研对比了各平台,之后选取了房天下和贝壳的数据进行爬取

贝壳

房天下

贝壳需要注册登录才能访问,房天下不需要

因课题保密的要求,数据和完整代码无法分享,如果有需要的朋友或老师可以联系我个人微信(liguopingHNU)进行定制化爬取数据

提示:以下是本篇文章正文内容,思路和代码可供参考

文章目录 前言 一:前期调研 1.1 各二手房平台详细对比 1.1.1链家 网址: 在售数据 成交: 列表页: 详情页: 1.1.2安居客 网址: 列表页: 详情页: 1.1.3 房天下 网址: 列表页: 详情页: 1.1.4贝壳网 网址: 在售: 已成交: 详情页: 1.2 综合评价 1.3 最后需求确定 二:网页结构的分析 2.1 网站首页 2.2 使用selenium访问 2.3 多线程加快爬取速度 2.4 注册bug 2.5 使用request带cookies访问 三.问题记录 1.iframe 2.性能优化

一:前期调研 1.1 各二手房平台详细对比 1.1.1链家 网址:

贝壳

在售数据

在这里插入图片描述

成交:

在这里插入图片描述

列表页:

在这里插入图片描述

详情页:

例如:https://bj.lianjia.com/ershoufang/101108567289.html

分为:三个部分

图片展示

在这里插入图片描述

基本信息

在这里插入图片描述

房源特色

在这里插入图片描述

1.1.2安居客 网址:

安居客

列表页:

在这里插入图片描述

缺点:

没有在售和已成交的区分 没有直观显示有多少房源 网站维护有问题,我在登陆时都没法登陆,难以保障数据的实时更新 详情页:

以此为例:

https://beijing.anjuke.com/prop/view/A5183579374?from=filter&spread=commsearch_p&uniqid=pc5f27c655bde998.84281277&position=1&kwtype=filter&now_time=1596442197

分为:两个部分

图片展示

在这里插入图片描述

房屋信息

在这里插入图片描述

1.1.3 房天下 网址:

[房天下])https://esf.fang.com/)

列表页:

上面显示有16万套待售,但真实性存疑,我查阅此软件评价较差,存在数据造假的问题

本网站也没有已成交的房源信息,不够全面

在这里插入图片描述

详情页:

感觉对房源的介绍极为敷衍随意,不如其他平台的仔细介绍,真实感较差

在这里插入图片描述

1.1.4贝壳网 网址:

贝壳网

在售:

在这里插入图片描述

已成交:

在这里插入图片描述

详情页:

贝壳的二手房详情更为丰富,网页主体分为四个部分,:

图片展示区

在这里插入图片描述

房源基本信息

在这里插入图片描述

房源特色:

在这里插入图片描述

户型空间

在这里插入图片描述

1.2 综合评价

贝壳网和链家是多名网友较为推崇的两个平台,经过查询,两个平台的数据相差不大,且都有在售和已成交的数据

而其他平台,网友评价较低,主要原因为数据造假,在本次查询中也出现此问题

链家和贝壳在房源数据方面,展示极为清晰,方便我们获知总成交数量,在详情页的介绍也明显比其他两个平台更加翔实,真实性,可靠性更高

1.3 最后需求确定

和老师进一步讨论之后,我们最后选择了贝壳和房天下,爬取北京市 近两年的二手房的在售和已成交

本次需求是先将新闻的概览信息保存到EXCEL文件,最后格式如下

|标题|时间|报社|版面号|版面信息|文章描述|正文url|

在这里插入图片描述 因课题保密的要求,数据和完整代码无法分享,如果有需要的朋友或老师可以联系我个人微信(liguopingHNU)进行定制化爬取数据

在保存上述简要信息的时候,我便将正文的url保存进txt文件,方便后续直接读写txt进行正文爬取

这种设计模式我觉得是做到了不同模块的解耦,如果有朋友有更好的想法也可以和我交流

最后正文保存格式如下: 按照 关键词-报道报社 - 新闻标题-正文 保存 在这里插入图片描述 因课题保密的要求,数据和完整代码无法分享,如果有需要的朋友或老师可以联系我个人微信(liguopingHNU)进行定制化爬取数据

二:网页结构的分析 2.1 网站首页

目标的url 为 :

http://www.apabi.com/pku/?pid=usp.advsearch&db=newspaper&cult=CN

除了pku 是不同机构或高校会改变这个字段,在检索查看的其他过程中,本url不变,完全使用Ajax的异步加载

给我们的自动化翻页,匹配信息,查询都带来了极大的挑战

在这里插入图片描述

我使用了request进行测试,发现没有办法获取到返回的信息,页面总是不相符,测试了好久,一直没有得到正确的内容

一筹莫展之际,我只能使用selenium就行匹配(但这也给后续的爬去埋下了一个巨大的坑)

查看网页源代码发现,请求之后,返回的是iframe,直接更新下面的搜索结果,我们需要的信息是在iframe里面去进行匹配,如果直接匹配页面的话,是匹配不到的

Selenium的好处是所见即所得,但是因为是模仿人的点击,速度极慢,而且书写代码时非常繁杂,点击选项时可能就是网页滑动了一下,便导致定位错误,无法匹配

2.2 使用selenium访问

以下是模拟点击页面的代码,可以看到匹配元素时非常麻烦

driver_path = r"G:\Daily_Life\Google_driver\chromedriver.exe" def config(head_keyword,con_keyword,office_key): url = "http://www.apabi.com/pku/?pid=usp.advsearch&db=newspaper&cult=CN" chrome_options = Options() chrome_options.add_argument('--headless') chrome_options


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3