Python爬虫抓取链家二手房数据

本节使用 Python 爬虫库完成链家二手房(https://bj.lianjia.com/ershoufang/rs/)房源信息抓取,包括楼层、区域、总价、单价等信息。在编写此程序的过程中,您将体会到 lxml 解析库的实际应用。

编写程序流程分析

打开链家网站后,第一步,确定网站是否为静态网站,通过在网页源码内搜索关键字的方法,可以确定其为静态网站;第二步,确定要抓取页面的 URL 规律,第三步,根据要抓取的数据确定 Xpath 表达式;最后一步,编写 Python 爬虫程序。

通过简单的分析可知 URL 具有以下规律:

第一页:https://bj.lianjia.com/ershoufang/pg1/
第二页:https://bj.lianjia.com/ershoufang/pg2/
第三页:https://bj.lianjia.com/ershoufang/pg3/
第n页:https://bj.lianjia.com/ershoufang/pgn/

确定Xpath表达式

使用 Chrome 开发者工具对页面元素进行审查,从而确定 Xpath 表达式。首先根据要抓取的数据确定“基准表达式”。通过审查一处房源的元素结构,可以得知房源信息都包含在以下代码中:


1.  
  
  
  
2.
1) 确定基准表达式

待抓取的房源信息都包含在相应的

标签中,如下所示:

 
 
 
..
...
...

而每个页面中都包含 30 个房源,因此我们要匹配以下节点的父节点或者先辈节点,从而确定 Xpath 基准表达式:

 
 
 

通过页面结构分析可以得出每页的 30 个房源信息全部包含以下节点中:

 
 
 
  • 房源信息..

接下来,使用调试工具定位上述元素,然后滚动鼠标滑。这时候神奇的一幕出现了,你会发现li标签的class属性值发生了变化,其结果如下:

 
 
 
  • 房源信息..

发生变化的原因是由于 JS 事件触发导致的。因此就需要去页面的源码页进行匹配。在

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值