影刀RPA 酒店预订自动化:携程美团酒店数据采集与分析
影刀RPA 酒店预订自动化携程美团酒店数据采集与分析什么情况用什么 → 怎么做 → 有什么坑作者林焱 | 飞行社出品什么情况用什么酒店行业需要监控竞品价格、分析入住率、跟踪评价变化。手动每天查几十家酒店的价格和评价工作量巨大。这套方案适合酒店管理者监控竞品价格OTA运营团队批量分析酒店数据旅行社/企业差旅部门比价核心工具影刀RPA网页自动化 携程/美团/飞猪API如果有 数据分析怎么做第一步分析目标网站的数据获取方式携程、美团酒店等平台没有公开API需要用网页自动化或模拟API请求方案A网页自动化稳定但慢用影刀打开酒店列表页滚动加载所有酒店提取酒店名称、价格、评分、地址拼多多店群自动化报活动上架点击进入详情页提取更多信息方案B模拟API请求快但不稳定用F12抓包找到获取酒店列表的API接口直接调用API获取JSON数据绕过网页解析效率提升10倍importrequestsimportjsondeftry_find_hotel_api(city,checkin_date,checkout_date):尝试找到携程的酒店搜索API# 先请求网页获取cookies和必要的参数sessionrequests.Session()list_urlfhttps://hotels.ctrip.com/hotel/{city}.htmlrespsession.get(list_url)# 分析页面找API请求实际抓包分析# 携程的API通常是# https://m.ctrip.com/restapi/soa2/16709.json (举例实际会变)# 这里演示用网页自动化方案更稳定print(建议使用影刀网页自动化API经常变化)returnNone# 实际落地推荐用影刀可视化流程第二步用影刀采集酒店列表数据在影刀中创建「酒店价格监控」流程【打开网页】https://hotels.ctrip.com/hotel/shanghai.html ↓ 【填写】目的地输入框 → 上海 ↓ 【填写】入住日期 → 明天 ↓ 【填写】离店日期 → 后天 ↓ 【点击】搜索按钮 ↓ 【等待元素出现】CSS: .hotel-list-item ↓ 【循环】遍历每个酒店卡片 ↓ 【提取数据】 - 酒店名称 (.hotel-name) - 价格 (.price-num) - 评分 (.score) - 地址 (.address) - 设施标签 (.facility-tag) ↓ 【写入Excel】保存到临时表 ↓ 【翻页】点击下一页继续采集最多50页Python辅助处理动态加载携程的酒店列表是滚动加载的滚到页面底部才加载更多需要用Python模拟滚动importpyautoguiimporttimedefscroll_to_load_all(driver):滚动页面触发动态加载last_heightpyautogui.size()[1]# 页面初始高度whileTrue:# 滚动到页面底部pyautogui.press(end)time.sleep(2)# 等待加载# 检查是否还有加载更多按钮try:load_morepyautogui.locateCenterOnScreen(load_more_btn.png,confidence0.8)ifload_more:pyautogui.click(load_more)time.sleep(2)else:breakexcept:breakprint(页面已全部加载)第三步采集酒店详情页数据列表页信息有限需要进入详情页采集更多数据房型、用户评价、设施详情deffetch_hotel_detail(hotel_url):采集酒店详情页importrequestsfrombs4importBeautifulSoup headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...,Cookie:你的Cookie}resprequests.get(hotel_url,headersheaders,timeout10)soupBeautifulSoup(resp.text,html.parser)detail{}# 提取房型信息room_types[]room_elementssoup.select(.room-type-item)forroominroom_elements:room_types.append({房型:room.select_one(.room-name).text.strip(),价格:room.select_one(.room-price).text.strip(),设施:[facility.text.strip()forfacilityinroom.select(.room-facility)]})detail[房型]room_types# 提取用户评价摘要reviewssoup.select(.review-item)detail[好评率]soup.select_one(.good-rate).text.strip()ifsoup.select_one(.good-rate)elseN/Adetail[评价数]len(reviews)# 提取设施标签facilitiessoup.select(.facility-tags span)detail[设施][f.text.strip()forfinfacilities]returndetail# 批量采集多线程加速fromconcurrent.futuresimportThreadPoolExecutordefbatch_fetch_details(hotel_urls,max_workers5):批量采集详情页withThreadPoolExecutor(max_workersmax_workers)asexecutor:futures[executor.submit(fetch_hotel_detail,url)forurlinhotel_urls]results[f.result()forfinfutures]returnresults第四步价格监控与告警importpandasaspdfromdatetimeimportdatetimedefmonitor_price_changes(hotel_id,new_price,threshold0.1): 监控价格变化超过阈值发送告警 threshold: 价格变化阈值10% # 1. 从数据库读取上次价格connsqlite3.connect(hotel_price.db)cursorconn.cursor()cursor.execute( SELECT price FROM price_history WHERE hotel_id ? ORDER BY record_time DESC LIMIT 1 ,(hotel_id,))rowcursor.fetchone()conn.close()ifrow:old_pricerow[0]change_pct(new_price-old_price)/old_price# 价格变化超过阈值ifabs(change_pct)threshold:send_price_alert(hotel_id,old_price,new_price,change_pct)returnTrue# 2. 记录新价格save_price_history(hotel_id,new_price)returnFalsedefsend_price_alert(hotel_id,old_price,new_price,change_pct):发送价格变化告警importrequests direction上涨ifchange_pct0else下降webhook_urlhttps://qyapi.weixin.qq.com/cgi-bin/webhook/send?keyYOUR_KEYcontentf **酒店价格预警** **酒店ID**{hotel_id}**价格变化**{old_price}元 →{new_price}元 **变化幅度**{direction}{abs(change_pct)*100:.1f}% **时间**{datetime.now().strftime(%Y-%m-%d %H:%M:%S)}请及时调整定价策略 payload{msgtype:markdown,markdown:{content:content}}requests.post(webhook_url,jsonpayload)第五步竞品分析与定价建议defanalyze_competitor_pricing(hotel_id,radius_km3):分析周边竞品价格给出定价建议# 1. 获取目标酒店信息targetget_hotel_info(hotel_id)# 2. 获取周边竞品同星级、同区域competitorsget_nearby_hotels(target[latitude],target[longitude],radius_km)competitors[hforhincompetitorsifh[star]target[star]]# 3. 计算价格统计prices[h[price]forhincompetitors]avg_pricesum(prices)/len(prices)min_pricemin(prices)max_pricemax(prices)# 4. 给出定价建议current_pricetarget[price]ifcurrent_priceavg_price*1.2:suggestionf⚠️ 你的价格高于周边均价20%建议降至{int(avg_price*1.1)}元左右elifcurrent_priceavg_price*0.8:suggestionf 你的价格低于周边均价20%可以涨到{int(avg_price*0.95)}元左右else:suggestionf✅ 你的价格与周边均价持平保持{int(avg_price)}元左右即可return{周边酒店数:len(competitors),周边均价:int(avg_price),最低价:min_price,最高价:max_price,定价建议:suggestion}第六步影刀RPA完整流程编排【定时触发】每天早上6点早于用户预订时间 ↓ 【读取配置文件】加载要监控的酒店列表Excel ↓ 【循环】遍历每个酒店 ↓ 【打开网页】携程/美团酒店详情页 ↓ 【提取价格】用XPath提取当前价格 ↓ 【Python节点】monitor_price_changes() → 检测价格变化 ↓ 【条件判断】价格变化超过10% ├─ 是 → 【企微通知】发送价格预警 └─ 否 → 继续 ↓ 【写入数据库】记录今日价格 ↓ 【生成日报】所有酒店处理完后 → 生成酒店价格监控日报.xlsx → 包含酒店名、今日价、昨日价、7日均价、竞品对比 → 发送给酒店运营团队有什么坑坑1网站反爬虫——IP被封携程/美团都有严格的反爬策略同一IP短时间大量请求 → 弹出验证码或直接封IP不携带Cookie → 返回虚假价格诱饵数据解决方案# 1. 使用代理IP池importrandom PROXY_POOL[http://proxy1:8080,http://proxy2:8080,# ...]deffetch_with_proxy(url):proxyrandom.choice(PROXY_POOL)resprequests.get(url,proxies{http:proxy,https:proxy},timeout10)returnresp# 2. 每次请求随机延迟importtimeimportrandom time.sleep(random.uniform(2,5))# 每次请求间隔2-5秒# 3. 使用真实浏览器Cookie# 在浏览器登录携程F12→Network→复制Cookieheaders{Cookie:your_cookie_here,User-Agent:Mozilla/5.0 ...}坑2动态内容加载不全TEMU店群矩阵自动化运营核价报活动酒店详情页的用户评价部分是滚动加载的页面初始只显示5条需要滚动才能加载更多。解决方案用影刀的【模拟操作】指令循环执行滚动到评价区域→等待加载→继续滚动直到没有新内容出现。坑3价格因用户身份不同而不同大数据杀熟同一家酒店不同用户看到的价格可能不一样新用户优惠、会员折扣、历史消费记录等。解决方案使用无痕浏览器或者清理Cookie后再访问获取标准价格# 用Selenium启动无痕模式fromseleniumimportwebdriverfromselenium.webdriver.chrome.optionsimportOptions chrome_optionsOptions()chrome_options.add_argument(--incognito)# 无痕模式chrome_options.add_argument(--disable-blink-featuresAutomationControlled)# 绕过反爬检测driverwebdriver.Chrome(optionschrome_options)driver.get(https://hotels.ctrip.com/hotel/12345.html)坑4数据量太大Excel存不下如果监控1000家酒店每天采集一次一年就是36万条数据Excel根本存不下。解决方案用数据库存储SQLite/MySQLdefsave_to_database(hotel_id,price,date):保存价格数据到数据库connsqlite3.connect(hotel_price.db)cursorconn.cursor()# 创建表如果不存在cursor.execute( CREATE TABLE IF NOT EXISTS price_history ( id INTEGER PRIMARY KEY AUTOINCREMENT, hotel_id TEXT, price REAL, record_date TEXT, record_time TEXT ) )# 插入数据cursor.execute( INSERT INTO price_history (hotel_id, price, record_date, record_time) VALUES (?, ?, ?, ?) ,(hotel_id,price,date,datetime.now().strftime(%Y-%m-%d %H:%M:%S)))conn.commit()conn.close()总结平台数据质量反爬难度推荐指数携程⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐美团酒店⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐| 飞猪 | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ || Booking | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐ |实际落地建议先小范围测试选10家竞品酒店每天采集一次跑一周看稳定性用影刀可视化流程比纯代码更稳定维护成本低做好异常处理网页加载失败、数据提取失败要有重试机制遵守robots.txt不要给目标网站造成过大压力如果需要更稳定的数据可以考虑购买携程/美团的商家API需要企业资质这样就能合法合规地获取数据时了。

相关新闻

企业级大语言模型内部部署实践:从Grok案例看LLM集成架构

企业级大语言模型内部部署实践:从Grok案例看LLM集成架构

在实际企业级 AI 应用落地过程中,如何将大语言模型(LLM)与内部业务系统、生产数据和实时信息流进行深度集成,是技术团队面临的核心挑战。埃隆马斯克旗下 xAI 团队开发的 Grok 模型,近期被披露在 SpaceX 和 Tesla 内部部…

2026/7/25 5:59:42 阅读更多 →
AI如何三步生成高质量文献综述:技术解析与实践指南

AI如何三步生成高质量文献综述:技术解析与实践指南

1. 文献综述写作的痛点与AI解决方案写文献综述是每个研究者必经的"痛苦仪式"。我至今记得读研时为了完成一篇综述论文,连续两周泡在图书馆,打印的文献堆了半人高,最后写出来的东西导师只给了句"缺乏系统性"。这种经历在学…

2026/7/25 5:59:42 阅读更多 →
C++学习路径全解析:从语法基础到架构实战的进阶指南

C++学习路径全解析:从语法基础到架构实战的进阶指南

1. 项目概述:为什么C的学习路径如此关键?在技术社区里,关于“如何学习C”的讨论几乎从未停止。从“C入门”到“C面试题汇总”,再到“C设计模式”,这些热搜词背后,是无数开发者面对这门古老而强大的语言时&a…

2026/7/25 5:59:42 阅读更多 →

最新新闻

AI数字员工核心技术解析与应用实践

AI数字员工核心技术解析与应用实践

1. 项目概述"AI数字员工效率革命:15分钟完成8小时工作"这个标题直指当前企业数字化转型中最具颠覆性的趋势——通过人工智能技术构建的数字员工系统,能够以惊人的效率完成传统人工需要长时间处理的工作任务。作为一名在企业自动化领域深耕多年…

2026/7/25 6:13:47 阅读更多 →
汽车零部件AI质检:TVA系统技术解析与应用实践

汽车零部件AI质检:TVA系统技术解析与应用实践

1. 项目背景与行业痛点汽车零部件检测领域长期存在一个行业级难题:传统人工目检方式效率低下且漏检率高。我曾走访过长三角地区多家 Tier1 供应商的质检车间,看到检测工位上老师傅们需要每天连续8小时盯着传送带上快速移动的零部件,用肉眼识别…

2026/7/25 6:13:47 阅读更多 →
智能书立:AI与毫米波雷达实现自适应阅读

智能书立:AI与毫米波雷达实现自适应阅读

1. 项目背景与核心价值去年帮朋友改造儿童书房时,发现传统书立有个致命缺陷——无论读者年龄大小,它都只会呆呆地站着。这让我开始思考:在AI技术如此成熟的今天,为什么不能给书立装上"大脑"?于是就有了这个将…

2026/7/25 6:13:47 阅读更多 →
Midjourney V8.1草稿模式随机风格生成功能详解

Midjourney V8.1草稿模式随机风格生成功能详解

Midjourney V8.1版本为草稿模式带来了一个实用的新功能——随机风格生成。通过在提示词中加入--sref random参数,用户可以一键生成24张不同风格的图片,为创意探索提供了更多可能性。这个功能的核心价值在于快速风格探索。对于需要大量灵感参考的设计师和…

2026/7/25 6:13:47 阅读更多 →
AI辅助WordPress安全:从挂马排查到常态化运维的人机协作指南

AI辅助WordPress安全:从挂马排查到常态化运维的人机协作指南

你有没有遇到过这种情况:辛辛苦苦建好的 WordPress 外贸网站,某天突然访问变慢,或者被搜索引擎标记为“不安全”,甚至后台出现一堆看不懂的陌生文件?这很可能就是被“挂马”了。对于很多外贸从业者来说,网站…

2026/7/25 6:13:47 阅读更多 →
VisionPro颜色抽取工具在工业检测中的应用与优化

VisionPro颜色抽取工具在工业检测中的应用与优化

1. 康耐视VisionPro颜色抽取工具核心功能解析CogColorExtractorTool是VisionPro视觉软件中专门用于颜色特征提取的模块化工具,在食品包装检测、药品标签识别、电子元件分类等场景有广泛应用。这个工具的核心价值在于能够将RGB或HSV色彩空间中的颜色特征转化为可量化…

2026/7/25 6:12:47 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻