资讯动态

影刀RPA实操指南:房源信息采集与比价看板实战

发布时间:2026/9/30 17:41:02 来源:尧图企业网站定制
影刀RPA实操指南房源信息采集与比价看板实战想在某几个城市租房子或者盯房子每天要打开好几个房源平台挨个看新上房源的价格、面积、单价手动记录到表格里对比一天下来光看房就花掉一两个小时而且经常错过刚上线的低价房源。我用影刀RPA做了一个房源采集加比价看板的自动化流程每天定时抓取指定板块的房源列表自动算出每平米单价和前一天的均价做对比涨幅异常的房源单独标出来写进看板。这篇文章把整个流程从零到跑稳讲一遍。我是非技术出身这套流程实操两年多迭代了五版最大的坑全在翻页和懒加载上后面会专门讲怎么绕。从安装到准备十分钟搭好运行环境去影刀官网下载客户端安装后注册登录。第一次用会引导安装浏览器插件采集类流程全程在浏览器里跑插件必须装好装完重启浏览器。新建应用后熟悉三个区域左侧指令面板搜索指令用、中间流程画布、右侧指令详情面板配置参数用。后面每一步操作我都会精确到面板里点哪里、填什么。社区版每天30分钟执行时长跑一个板块的采集够用要盯多个城市多个板块建议上创业版执行不限时。整体流程设计四段式结构采集类流程我固定用四段式结构每段一个子流程互相之间靠参数传递数据子流程A 打开列表页打开目标板块房源列表处理弹窗子流程B 循环采集滚动加载循环提取每条房源的六个字段子流程C 清洗入库去重、算单价、写入数据表格子流程D 看板输出对比昨日均价写入Excel看板和飞书多维表格子流程命名用01_采集_打开列表页这种编号加动作的格式。每个子流程只做一件事出问题时看日志就知道挂在哪一段。元素定位四合一房源列表的定位实战房源列表页每条房源是一个卡片六个字段标题、总价、单价、面积、户型、链接要分别定位。第一步先捕获整个房源卡片作为相似元素点击顶部工具栏捕获元素按钮鼠标移到第一条房源卡片上出现橙色边框后点击。然后在元素编辑里检查捕获到的XPath把卡片里会变的序号部分找出来。# 捕获元素房源卡片列表页面上所有结构相同的卡片 //ul[classlistContent]/li # 捕获元素卡片内的房源标题相对卡片往下找不要从头写绝对路径 .//div[classtitle] # 捕获元素总价用文本特征兜底class变了但万字一般不变 .//span[contains(text(),万)] # CSS选择器写法同等效果的卡片列表选择器更短 ul.listContent liXPath和CSS怎么选简单层级关系用CSS一行搞定可读性好需要contains文本匹配、兄弟轴、父轴这些高级定位时只能用XPath。我自己的习惯是先试CSS不行再写XPath都不行用正则表达式在元素编辑里对动态class做模糊匹配。定位卡片内部字段时务必把选择器写成以当前卡片为起点以.开头否则循环到第二条卡片时定位到的永远是第一条的字段这是新手最高频的错误。变量与数据类型采集数据的载体选择采集到的数据用什么结构存直接决定后面好不好写列表单个字段的多条值比如所有总价组成一个列表二维列表一张完整的表一行一条房源推荐用这个字典单条房源键是字段名值是字段值配合JSON很好用字符串要熟两个操作索引和拼接。价格抓下来是350万我用截取一段文本指令切掉万字再做数字转换。字典最常用的坑键不存在会直接报错。取值之前用字典指定键是否存在判断或者接受缺失字段时给默认值——房源页经常缺装修情况这种非必填字段我的流程里统一给未知。流程控制三种循环怎么配合用这个流程里三种循环各司其职【循环相似元素(web)】遍历页面上所有房源卡片每次循环提取当前卡片各字段【For次数循环】控制滚动次数比如滚10次每次间隔2秒【While条件循环】翻页时判断下一页按钮是否可点不可点说明到了最后一页循环相似元素有个隐含规则两次循环之间如果页面发生了刷新元素列表会失效报未找到指定ID的元素。所以采集逻辑必须是先滚动加载完再一次性循环提取不要边滚边采。翻页我用的是disabled判断法先捕获下一页按钮用IF条件判断按钮的class里是否包含disabled包含则跳出While循环。总页数未知时这个方法最可靠。网页自动化懒加载与滚动加载处理房源列表是典型的懒加载页面页面代码里只渲染屏幕内的十几条房源屏幕外的元素根本不存在直接循环会只采到第一屏。我的处理方案也是官方文档推荐的index去重思路先用【滚动鼠标滚轮】指令滚一屏等待2秒用【获取相似元素列表】获取当前卡片列表记录数量判断数量是否还在增加增加说明没到底继续滚连续两次不增加说明加载完了滚动时用【获取元素位置(web)】拿到列表容器的坐标把鼠标挪过去再滚保证滚动作用于列表区域而不是整个页面有些平台滚到底会出现没有更多了的固定提示那就更简单用【等待文本(OCR)】或IF网页包含判断这个提示是否出现出现即停止滚动。弹窗处理老规矩按回车、Esc、刷新网页、点空白处、Tab加回车的顺序测出有效关闭动作放在打开网页后先执行一次。房源平台的经纪人咨询弹窗特别烦我的流程里固定加了一步点击遮罩关闭。数据处理从抓取值到可用数据的三道工序抓下来的原始数据不能直接用要过三道工序。第一道清洗。总价350万转成数字350面积89.5㎡转成89.5单价有的平台直接给有的要自己算。文本处理全靠这几个指令文本替换、截取一段文本、正则表达式指令。正则我提取数字用的最多# 输入str_price抓取到的价格字符串如总价350万或3.9万/平米# 输出float_price提取出的数字importredefextract_number(text):# 匹配字符串中第一个数字含小数点matchre.search(r\d\.?\d*,text)ifmatch:returnfloat(match.group())return0.0第二道去重。同一套房源昨天采过今天又出现用链接做唯一键。影刀的列表去重指令对简单列表好用二维列表我习惯用字典按链接建索引再取值列表顺带把旧记录覆盖掉。第三道算比价指标。每条房源算出单价总价除以面积再算本板块均价和前一天均价对比算涨跌幅涨幅超过5%的标记关注。这些计算我用Python节点做输入二维列表输出带标记的二维列表。鼠标键盘与图像定位不到时的兜底个别房源平台详情页做了反爬处理元素定位会间歇性失败。兜底方案按优先级【点击指定内容的元素(web)】知道按钮文本时用它不用精确捕获【点击图像】截目标按钮图片做模板位置相对固定时可靠【点击按键】Tab移动焦点加Enter确认最后手段图像识别的锚点功能值得一提设置锚点元素加九个方位偏移可以定位到某个稳定元素右边50像素这种位置详情页里查看更多按钮这种小元素锚点法比直接图像匹配稳。验证码滑块我不建议死磕采集频率控制好间隔3秒以上每天一次基本触发不了。进阶技能绕过页面直接拿数据页面渲染慢的板块采集一条要等半天。官方文档里有个网页监听方案我实测能把采集速度提一个量级步骤是F12打开开发者工具CtrlR刷新页面在Network标签页搜索想要的数据找到接口URL然后流程里用【开始监听请求】→跳转→【获取网页监听结果】→【停止监听网页请求】拿到接口返回的JSON。拿到的是字符串用字符串转JSON指令转成字典按键取数据。户型、面积、单价全在JSON里一次拿全比循环点卡片快太多。HTTP请求指令还能直接调一些平台的列表接口带页码参数循环请求彻底告别翻页。不过接口参数需要自己抓包分析非技术出身的话先从网页监听入手更容易。OCR用得少主要识别详情页里以图片形式展示的小区配套文字。系统联动看板输出与定时执行比价看板我做了两层输出。Excel看板用【打开/新建Excel】写入当日数据加一列涨跌幅用条件格式标红异常项。写入时留意格式问题单价数字被写成科学计数法的话在写入指令的高级设置里把该列设为文本格式日期写入少8小时是时区问题写入前统一用获取当前日期时间指令生成。飞书多维表格用【新增行记录-飞书多维表】指令把每天均价趋势追加到多维表格手机上随时能看曲线。字段映射时注意键名要和多维表格的列名完全一致。定时任务在影刀客户端计划任务里配置每天早上8点跑。电脑设置永不睡眠采集类流程挂后台跑完全程无感。工程化与调试规范调试的核心手段就一个断点。在怀疑出错的指令行号后空白处点击出现橙色圆点即是断点运行到那里自动暂停下方调试变量面板能看到所有变量的实时值和类型。懒加载问题、去重逻辑问题我全是靠这个面板定位的。三条我吃过亏的规范采集间隔必须设对目标网站要保持克制3秒一条既稳妥也不容易被封日志要分级每个子流程开头结尾各打一条出错时日志能还原完整轨迹每次改版前导出应用存档平台改版后先跑单次验证再恢复定时任务。易错速查表报错/现象原因解决相似元素只采到第一屏懒加载未滚动到底先滚动加载完再循环循环第二轮报未找到元素页面刷新导致元素列表失效重新获取列表先滚后采循环每条都定位到第一条字段选择器用了绝对路径改成以当前项为起点的相对路径单价写入变科学计数法Excel格式问题写入高级设置中文本格式列翻页死循环不停点下一页disabled判断失效重新捕获按钮校验class学习资源与延伸阅读官方帮助中心里网页数据获取时需要翻页或下拉网页懒加载场景和解决方案这两篇是做采集必读的我上面讲的滚动判断和翻页判断都源自那里。这套房源采集比价流程的完整源码我放在代码仓库 home.linyan.cloud懒加载和看板输出两个子流程可以直接拿去改成你自己的城市和板块。建议先拿一个板块跑通再横向加城市别一上来就铺大摊子。#影刀RPA #RPA自动化 #数据采集 #懒加载 #比价看板作者林焱

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑