影刀RPA 房地产数据采集:安居客链家房源信息批量获取
影刀RPA 房地产数据采集安居客链家房源信息批量获取什么情况用什么 → 怎么做 → 有什么坑作者林焱 | 飞行社出品什么情况用什么做房地产数据分析、房价监控、投资研判需要大量房源数据。手动一个个复制粘贴一小时搞不定50套房源。这套方案适合房产中介/投资机构采集竞品房源数据房价监测系统定期抓取数据房源比对分析同小区不同平台报价差异核心工具影刀RPA网页自动化 Requests直接调用API如果平台有 反爬策略应对怎么做第一步分析目标网站的页面结构以链家为例房源列表页URL规律拼多多店群自动化上架方案https://sh.lianjia.com/ershoufang/pg1/ # 上海二手房第1页 https://sh.lianjia.com/ershoufang/pg2/ # 第2页 https://sh.lianjia.com/ershoufang/107001838625.html # 详情页 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/be7dcedc677847b6a0e4693f50ef3486.png#pic_center)用浏览器F12打开网络面板翻页时观察是否有API接口返回JSON数据比解析HTML高效得多importrequestsimportjsondeftry_find_api(url):检查页面是否有JSON API接口headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36,Referer:https://sh.lianjia.com/}resprequests.get(url,headersheaders,timeout10)# 尝试解析为JSONtry:dataresp.json()print(找到API接口返回JSON数据)returndataexcept:# 不是JSON需要解析HTMLprint(页面是HTML需要用XPath/CSS解析)returnNone# 测试链家是否有隐藏APIdatatry_find_api(https://sh.lianjia.com/ershoufang/pg1/)实际情况链家/安居客等主要房产平台没有公开JSON API必须解析HTML。第二步用影刀采集列表页数据在影刀里创建「链家房源采集」流程【循环】页码从1到50采集50页 ↓ 【打开网页】https://sh.lianjia.com/ershoufang/pg{页码}/ ↓ 【等待元素出现】CSS选择器 .sellListContent li ↓ 【读取表格/列表】提取每个房源的 - 标题.title a 的文本 - 价格.total 的文本 - 单价.unitPrice 的文本 - ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d1510cb1963149c3b559937ef3492411.png#pic_center) - 面积户型.houseInfo 的文本 - 小区名.positionInfo a 的文本 - 详情页链接.title a 的 href ↓ 【写入Excel】将列表数据保存到临时表 ↓ 【翻页】点击下一页按钮或直接计算下一页URL关键Python代码用requestsBS4高效采集importrequestsfrombs4importBeautifulSoupimportpandasaspdimporttimeimportrandomdeffetch_lianjia_list(city,max_pages10):采集链家房源列表页headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36,Cookie:你的Cookie# 登录后的Cookie避免被拦截}results[]forpageinrange(1,max_pages1):urlfhttps://{city}.lianjia.com/ershoufang/pg{page}/print(f正在采集第{page}页:{url})resprequests.get(url,headersheaders,timeout10)soupBeautifulSoup(resp.text,html.parser)# 解析房源列表house_listsoup.select(ul.sellListContent li)ifnothouse_list:print(没有找到房源可能被反爬)breakforhouseinhouse_list:try:titlehouse.select_one(.title a).text.strip()pricehouse.select_one(.total).text.strip()万unit_pricehouse.select_one(.unitPrice).text.strip()house_infohouse.select_one(.houseInfo).text.strip()positionhouse.select_one(.positionInfo).text.strip()detail_urlhttps://sh.lianjia.comhouse.select_one(.title a)[href]results.append({标题:title,总价:price,单价:unit_price,户型面积:house_info,位置:position,详情页:detail_url})exceptExceptionase:print(f解析单个房源失败:{e})continue# 随机延迟避免被限流time.sleep(random.uniform(1,3))returnpd.DataFrame(results)第三步采集详情页数据列表页信息有限需要进入详情页采集更多信息楼层、朝向、装修、电梯、车位等deffetch_house_detail(detail_url,headers):采集房源详情页resprequests.get(detail_url,headersheaders,timeout10)soupBeautifulSoup(resp.text,html.parser)detail{详情页:detail_url}# 提取基本属性链家的页面结构info_itemssoup.select(.base .content li)foritemininfo_items:textitem.get_text(stripTrue)ifintext:key,valuetext.split(,1)detail[key]value# 提取小区信息community_infosoup.select(.communityName a)ifcommunity_info:detail[小区名称]community_info[0].text.strip()# 提取标签满五唯一、近地铁等tagssoup.select(.taxfree .content span)detail[标签],.join([tag.text.strip()fortagintags])returndetaildefbatch_fetch_details(house_list_df,max_workers5):批量采集详情页多线程加速fromconcurrent.futuresimportThreadPoolExecutor headers{User-Agent:Mozilla/5.0 ...}detail_results[]withThreadPoolExecutor(max_workersmax_workers)asexecutor:futures[]forurlinhouse_list_df[详情页].tolist():futureexecutor.submit(fetch_house_detail,url,headers)futures.append(future)forfutureinfutures:try:detailfuture.result(timeout30)detail_results.append(detail)exceptExceptionase:print(f采集详情页失败:{e})returnpd.DataFrame(detail_results)第四步数据清洗与分析defclean_house_data(df):清洗房源数据# 1. 总价转数字去掉万df[总价_万]df[总价].str.replace(万,).astype(float)# 2. 单价转数字去掉元/平df[单价_元]df[单价].str.replace(元/平,).astype(float)# 3. 提取户型如3室2厅 → 3室df[室数]df[户型面积].str.extract(r(\d)室).astype(float)# 4. 提取面积如89.5平米df[面积_平]df[户型面积].str.extract(r(\d\.?\d*)平米?).astype(float)# 5. 计算单价验证总价*10000/面积df[单价计算](df[总价_万]*10000/df[面积_平]).round(0)df[单价异常]abs(df[单价_元]-df[单价计算])1000# 差异超过1000元/平数据可疑returndf# 分析哪个小区最贵defanalyze_by_community(df):按小区汇总分析resultdf.groupby(小区名称).agg({总价_万:[count,mean,min,max],单价_元:mean,面积_平:mean}).reset_index()result.columns[小区名称,房源数,平均总价,最低总价,最高总价,平均单价,平均面积]resultresult.sort_values(平均单价,ascendingFalse)returnresult第五步影刀RPA完整流程编排【启动】每日凌晨2点自动运行 ↓ 【Python节点】fetch_lianjia_list() → 采集列表页50页 ↓ 【Python节点】batch_fetch_details() → 采集详情页多线程 ↓ 【Python节点】clean_house_data() → 清洗数据 ↓ 【Python节点】analyze_by_community() → 生成小区分析报告 ↓ 【对比历史数据】与新房/历史价格对比标记异常波动 ↓ 【写入数据库】将新数据存入MySQL用于长期趋势分析 ↓ 【生成报告】上海二手房日报.xlsx ↓ 【发送邮件】将报告发送给分析师团队有什么坑坑1反爬虫——IP被封链家/安居客有严格的反爬策略同一IP短时间大量请求 → 封IP 24小时不携带Cookie → 返回验证码页面User-Agent为空或不常见 → 直接拒绝解决方案# 1. IP代理池importrandom PROXY_POOL[http://proxy1:8080,http://proxy2:8080,# ...]deffetch_with_proxy(url):proxyrandom.choice(PROXY_POOL)proxies{http:proxy,https:proxy}resprequests.get(url,proxiesproxies,timeout10)returnresp[video(video-Ip5A8myp-1784131405859)(type-csdn)(url-https://live.csdn.net/v/embed/524993)(image-https://v-![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6d17728a23544f60b1d3339c894ac208.png#pic_center)blog.csdnimg.cn/asset/a547123d88ad712dccba346c9217e237/cover/Cover0.jpg)(title-TEMU店群如何管理运营)]# 2. 随机User-AgentUSER_AGENTS[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...,Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) ...,# 准备10个以上]headers{User-Agent:random.choice(USER_AGENTS)}# 3. 使用Cookie登录后的Cookie# 在浏览器登录链家F12→Network→复制Request Headers里的Cookie坑2页面结构变化XPath/CSS选择器失效房产平台会不定期改版原来能用的选择器突然失效。解决方案同时准备多套解析规则并在解析失败时告警defrobust_extract(soup,selectors_dict,field_name):多选择器备选提取forselectorinselectors_dict[field_name]:elementsoup.select_one(selector)ifelement:returnelement.text.strip()# 所有选择器都失败print(f⚠️ 提取{field_name}失败页面可能已改版)send_alert_to_feishim(链家采集失效,f字段{field_name}无法提取请检查页面结构)return坑3数据量太大Excel存不下Excel最多104万行采集一个城市全量房源可能几十万套会超出限制。解决方案存到SQLite或MySQLdefsave_to_sqlite(df,db_pathhouse_data.db):保存到SQLite数据库importsqlite3 connsqlite3.connect(db_path)# 如果表存在追加数据去重根据详情页URLdf.to_sql(houses,conn,if_existsappend,indexFalse)# 去重保留最新的conn.execute( DELETE FROM houses WHERE rowid NOT IN ( SELECT MAX(rowid) FROM houses GROUP BY 详情页 ) )conn.commit()conn.close()print(f数据已保存到{db_path})坑4法律风险批量采集房产平台数据可能违反平台的《用户协议》和《Robots协议》。建议采集频率不要过高每次请求间隔≥2秒只用于内部分析不对外出售数据关注平台的Robots.txt如https://sh.lianjia.com/robots.txt总结平台反爬难度数据质量推荐指数链家⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐安居客⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐贝壳⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐58同城⭐⭐⭐⭐⭐⭐⭐链家的数据质量最高真实成交价但反爬最严。建议用影刀RPA模拟真人操作慢速、随机滚动、随机点击比纯Python请求更难被检测。

相关新闻

免费狐白同人鼠标指针主题:Windows个性化设置全攻略

免费狐白同人鼠标指针主题:Windows个性化设置全攻略

这次我们来看一个很有意思的同人创作资源分享——"古今东西狐狸物语"主题的狐白同人指针。这个项目不是技术工具或AI模型,而是一套精心设计的鼠标指针主题包,专门为喜欢狐狸元素和二次元风格的电脑用户准备。这套指针包最大的特点是完全免费、…

2026/7/16 2:41:04阅读更多 →
从Map到JSON:主流库的转换实践与性能考量

从Map到JSON:主流库的转换实践与性能考量

1. 为什么需要Map与JSON互转在日常开发中,Map和JSON的相互转换可以说是家常便饭。Map作为Java中最常用的数据结构之一,提供了灵活的键值对存储能力;而JSON则是现代Web开发中数据交换的事实标准。两者之间的转换需求主要来自以下几个场景&…

2026/7/16 2:41:04阅读更多 →
背景代理技术:云端AI编码助手的架构设计与工程实践

背景代理技术:云端AI编码助手的架构设计与工程实践

在日常开发中,我们经常遇到这样的困境:本地运行多个AI编码助手时,它们会争夺机器资源、暴露敏感信息,而且一旦电脑休眠所有任务都会中断。这种基于本地环境的AI助手模式,虽然对个人开发者足够,但在团队协作…

2026/7/16 2:41:04阅读更多 →
UiBot数据抓取进阶:从网页到Excel的自动化数据清洗与整合

UiBot数据抓取进阶:从网页到Excel的自动化数据清洗与整合

1. UiBot数据抓取基础与实战场景很多刚接触RPA的朋友可能觉得网页数据抓取是个复杂的技术活,但实际上用UiBot操作起来比想象中简单得多。我去年帮一家电商公司做竞品监控时,就用这个功能每天自动抓取3万条商品数据,效率比人工提升了20倍不止。…

2026/7/16 3:36:08阅读更多 →
Cisco Packet Tracer 8.2.2 安装、汉化与NetAcad激活全指南

Cisco Packet Tracer 8.2.2 安装、汉化与NetAcad激活全指南

1. 项目概述:为什么8.2.2这个版本值得专门折腾一次?Cisco Packet Tracer 8.2.2 不是简单的一次小版本迭代,它是我过去三年带学生做网络实验过程中,第一个真正把CLI交互体验、拓扑渲染性能和多设备协同稳定性三者同时拉到可用水平的…

2026/7/16 3:36:08阅读更多 →
红黑树-插入节点的失衡调节

红黑树-插入节点的失衡调节

红黑树的本质依然是二叉搜索树,认为不存在相同的节点。最近在学map、set,二者的底层数据结构都是红黑树。所以复习一下红黑树。对于一颗红黑树,插入节点的大致流程是:插入新节点-判断当前状态是否失衡-失衡调节-插入完成。 一颗红…

2026/7/16 3:36:08阅读更多 →
Wand-Enhancer:免费解锁WeMod专业版功能的终极本地增强方案

Wand-Enhancer:免费解锁WeMod专业版功能的终极本地增强方案

Wand-Enhancer:免费解锁WeMod专业版功能的终极本地增强方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为WeMod专业版的高昂订…

2026/7/16 3:36:08阅读更多 →
生产级AWS EKS集群搭建五大核心支柱与实战检查清单

生产级AWS EKS集群搭建五大核心支柱与实战检查清单

1. 为什么生产环境的EKS集群搭建不能“照着教程点下一步”?“生产环境AWS EKS/K8s集群搭建全流程,看完这篇直接上手”——这个标题背后藏着一个被无数团队踩过坑的真相:EKS不是安装软件,而是构建一套可审计、可回滚、可演进的基础…

2026/7/16 3:36:08阅读更多 →
学ai 第二日python 复习夯实基础

学ai 第二日python 复习夯实基础

1. 字面量学习目标:1、掌握字面量的含义2、了解常见的字面量类型3、基于print语句完成各类字面的输出字面量:在代码中被固定下来的值。 常见的值类型: python中常用的六种值类型: 数字类型:整型(int&#x…

2026/7/16 3:31:07阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/15 6:42:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/15 6:12:45阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/15 10:54:00阅读更多 →
A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并

A--10 Codex Review与GitHub PR工作流实战指南:从代码审查到安全合并

摘要:本文系统讲解如何利用Codex App的Review功能与GitHub PR工作流,实现从代码修改到安全合并的完整流程。涵盖Review面板深度使用、/review命令实战、GitHub Connector配置、PR描述撰写技巧,以及常见问题排查方法。通过多个实战案例和流程图,帮助开发者建立高效的AI辅助代…

2026/7/16 0:00:38阅读更多 →
遗传算法解5皇后问题:从Hello World到工业优化的进化实验室

遗传算法解5皇后问题:从Hello World到工业优化的进化实验室

1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…

2026/7/16 0:00:38阅读更多 →
5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析

5.1V稳压管输出为何只有4.7V?工作电流与负载影响分析

前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…

2026/7/16 0:00:38阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/15 15:50:47阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/15 8:52:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/15 14:06:23阅读更多 →