为了媳妇的一张号,我与百度医生杠上了JackieZheng

需求是催生项目和推进项目的不竭动力。

背景:

1.支付宝

在支付宝的城市服务中,定位到指定城市,是能够看一些医院提供了预约挂号接口的,显然A医院当之无愧也在其中。

简便易用的支付宝用户体验,即便是第一次来也好像是经常使用这项服务般熟练。找到A院,搜索妇产科,在list中有若干医生,有的标注无号源,有的标注可预约,大抵如下:

于是满怀激动的点击"可预约",可是弹出来的却不是我想要的结果--!

后来听到诸如凌晨12点会有号放出,但是最终也是收到同样冷冰冰的弹出窗口。对于用此招挂上号的我深表佩服,只是抛开这个不说,感觉A院在支付宝这块的投入太低,UI设计也很呆板,最主要的是抢不到号。

2.百度医生

相对来说,百度医生要比上面做的实诚的多,有就是有,没有就是没有。不管是PC端还是app端,用户界面更加柔和smooth。

于是我把希望寄托在这里,但是A院的号难抢,这是事实。而百度医生我觉得还有一块空白可以实现的就是监控机制,好比12306可以刷票一样,添加这个模块,相信app的下载量和使用量会提高一个"当量"。

很显然,这个功能,还没有,那我只能自己动手了~~~

我的思路

1.百度从医院拿数据,那我就从百度拿数据。我能够监控百度医生放出来的消息,就基本与医院同步了;

码前预热

1.框架选择

毫无疑问,我们采用selenium,一款web测试应用工具,模拟我在浏览器上的操作。可以基于IE、FF、Chrome等等浏览器,实现启动关闭浏览器/页面,在页面上点击、定位元素等相应操作。关于seleniumwebdriver的背景知识就不做介绍,一篇博文显然难以阐述清楚。

2.工具使用

在使用selenium过程中,页面元素的定位是个核心问题。我们可以使用By类下面的By.name,By.id,By.linkText分别获取获取name属性,id属性,超链接文本。这些方式的定位我们直接可以在DOM结构中看出来,其中比较复杂的是xpath,需要根据DOM结构实现定位,这时候我们需要一个工具可以实时的测试我们的xpath表达式是否能够正确定位到指定元素。

a.在Firefox浏览器中,我们可以安装插件FirePath

这里我们通过字符串".//*[@id='su']"就能够定位到"百度一下"这个按钮

b.在chrome里面,我们可以下载插件XPathHelper,有关它的用户,请参看

思路有了,工具齐了,那就开始着手做吧

1.启动chrome浏览器

需要下载chrome的驱动

System.setProperty("webdriver.chrome.driver","C:\\Users\\Administrator\\Downloads\\chromedriver_win32\\chromedriver.exe");WebDriverdriver=newChromeDriver();

2.定位元素执行动作

WebElementloginLink=driver.findElement(By.xpath(".//*[@id='u1']/a[7]"));loginLink.click();

3.等待页面加载完成

有时候在driver.get()到某个页面时,如果页面没有加载完成,这时候去定位元素容易抛出异常,所以需要加入等待页面加载完成的功能。这里将其封装在一个函数中:

publicstaticvoidwaitForLoad(WebDriverdriver){ExpectedConditionpageLoad=newExpectedCondition(){publicBooleanapply(WebDriverdriver){return((JavascriptExecutor)driver).executeScript("returndocument.readyState").equals("complete");}};WebDriverWaitwait=newWebDriverWait(driver,30);wait.until(pageLoad);}

4.遇到异常重新启动机制

监控的原理在于间歇性的点击相应的科室并监听页面中是否有想要的元素出现(如出现预约挂号),如果出现则点击进入相应界面,如果没有出现则一直监听。

但是在实测过程中,发现持续点击某科室会出现页面一直加载的情况,这时候会抛出异常,程序无法正常进行。

所以在这里捕获异常,通过递归调用的思想,关闭先前的driver对象,并调用自己重新生成一份监听driver对象,从而保证程序正常执行,提高了程序的健壮性。

try{WebDriverWaitwait=newWebDriverWait(driver,7000);wait.until(newExpectedCondition(){publicWebElementapply(WebDriverd){try{Thread.sleep(2000);//为避免给baidu早成麻烦,每2秒监听一次}catch(InterruptedExceptione){e.printStackTrace();}departLink.click();//departLink为妇产科的文本链接monitoringTimes++;//监听的次数System.out.println("第"+monitoringTimes+"次监控");returnd.findElement(By.xpath("//*[@id='doctor-info-list']/descendant::*[contains(text(),'预约挂号')][1]"));}});waitForLoad(driver);}catch(Exceptione){ticket=true;System.out.println("抱歉,目前余号不足,请稍后再试");}finally{if(ticket){driver.close();startMonitor();//递归调用}}

5.成果展示

但从程序来说,可以现实自动抢号功能,已成功预约到非妇产科以外科室的号。

THE END
1.百度降黑猫投诉百度健康快速解决 满意度: 65投诉量 65已回复 12已完成 近30天 最新投诉 已回复 已完成 已回复 勇敢喵2024-11-25 于黑猫投诉平台发起 百度健康客服服务态度差,医生无视患者需求,没有达到问诊效果,要求退款及处理 我于2024年11月21日在百度健康花费65元咨询费寻求抑郁症方面的帮助。这位医生挂牌国家二级心理咨询http://hebei.tousu.sina.cn/company/view/?couid=5075618359&vt=4
2.百度降问医生可靠吗,百度降在线咨询医生可信吗?一恒网销学百度健康问医生可靠吗,百度健康在线咨询医生可信吗? 消费者对百度健康在线问诊业务提出了一些投诉,主要集中在医生接诊不回复或回复敷衍,以及退款问题上。尽管这项业务方便了消费者,但也引发了一些不满。 抱歉,我无法对已发表的作品进行修改或创作。 今年8月中旬,百度举办了“2022百度健康致敬医者盛典”,北京成为了举办https://www.yiheng8.com/237537.html
3.大数据时代下的人工智能医疗智慧医疗提高算法可信度的方法百度医疗大脑的对标产品是Google和IBM的同类产品,他们通过海量医疗数据、专业文献的采集与分析进行人工智能化的产品设计,模拟医生问诊流程,与用户多轮交流,依据用户的症状,提出可能出现问题,反复验证,给出最终建议。在过程中可以收集、汇总、分类、整理病人的症状描述,提醒医生更多可能性,辅助基层医生完成问诊。他们的优势https://blog.csdn.net/wangzi11322/article/details/107844192
4.百度上面的中药偏方可信么39问医生中药偏方是否可信取决于其来源和使用者的经验。中药偏方通常是指未经严格临床试验而流传于民间的传统治疗https://ask.39.net/question/106987955.html
5.百度医生安卓版下载百度医生app下载v2.6.5百度医生致力于打造全国最大、最权威的医患双选平台。百度医生(医生版)是平台为医生量身定制的移动客户端。成为百度认证医生可获得百度认证医生标识,提升权威可信度。并为医生建立个人专属主页,树立个人品牌。同时每天有千万使用百度的患者,可通过百度医生直接与你预约。 软件功能 1、 “百度医生(医生版)”为医生专https://app.3dmgame.com/android/62900.html
6.百度降网上医生黑猫投诉投诉编号: 17378021524 投诉对象: 百度健康 投诉问题: 医生不专业,不给退款 投诉要求: 退款 涉诉金额: 11元 投诉进度:已回复0 0 0 商 百度健康 回复 12-12 09:59:11 已隐藏内容 黑猫消费者服务平台 商家处理中 12-12 09:44:41 已分配商家 百度健康 黑猫消费者服务平台 审核通过 12-12 09:44:41https://tousu.sina.com.cn/complaint/view/17378021524/?sld=6fb34df3b4e169e1f62155b17c340ff7
7.百度看病不可取原来该患者是从百度中对照自己的症状,来自己为自己看病,并且确信自己患的是前列腺癌,医生检查后发现患者是常见的慢性前列腺炎,而患者坚信自己是前列腺癌,经过多次耐心细致的解释,显效的治疗效果,患者才从自己低迷消沉的生活状态中走出来。 随着科技的发展和互联网的日常化使用,有病了,先上百度等网站查查,然后再去http://3g.zhuanjia.xywy.com/wenzhang/83-51606.htm
8.百度上看到的医生是真医生吗大概率不是真的医生。从逻辑上讲,1医院不会允许医生顶着单位名字上网答这种题,不然出事追究负责怎么办;2公立医院医生有值不完的班看不完的门诊排不完的手术和科研任务,没有空上来答题。 最后不要上百度问医!不要信网上的保健品!及时就医,祝你姥姥快点康复。 赞(1619) 回应 己汪销 2022-09-28 13:02:11https://m.douban.com/group/topic/275766675/
9.医生我是在百度上问您的快速问医生医生我是在百度上问您的,没问完想在问一下,听力正常听不清如果分辨率测试正常就能排除颅脑问题吧医生回答(1) 耿志刚 主治医师 山西医科大学第二医院 病情分析:你好,很高兴为您解答问题,这种情况需要考虑是不是有一些题神经病的问题,建议您到医院进一步的做一下脑干诱发电位看看。希望对您有帮助,谢谢。 2022https://m.120ask.com/askg/mip_detail/100523193
10.百度免费问诊在线医生安全吗?伴随着热度上升的同时,大家难免会对这一新兴模式有一些疑问,例如百度免费问诊在线医生安全吗?下面就以在线问诊平台——薛医生?为例讲解。 薛医生?这一平台的医生都来自于医院里面坐诊的医生,入驻前首先需要提供身份证、医师资格证、执业医师证、所在医院职称聘书,不可能造假。此外,患者的一些私密问题,这类问题问https://www.xuedoctor.com/archives/5475.html
11.刚刚在百度上问你的那个想加你微信的那个真实医生问答问题描述:医生,我就是刚刚在百度上问你的那个,想加你微信的那个(女,17岁) 病情分析:可以的。患者咨询记录 医生回复仅为建议,进一步确诊请到线下医院 医生,我就是刚刚在百度上问你的那个,想加你微信的那个(女,17岁) 您好,我是黑龙江省中医医院医师,朱永杰医生 你好!你可以这么问我,微信不让加的。 对的https://m.chunyuyisheng.com/mip/qa/b-N2ZIdunCaEU82P7stkgg/
12.百度版AI医生叫板ChatGPT:会看CT片子,也会分诊管理至于商业化的底气,则在于百度前期的客户合作案例。 比如在和人民卫生出版社的合作中,灵医大模型补足了标签搜索的短板,让医生和病患通过自然语言描述就能够找到相应的知识; 再比如,北大口腔医院信息中心副主任曹战强提到,大模型除了在疾病诊断上展现出更强的能力,同时还能处理多维度、复杂的医院管理数据,提高医疗工作的效https://36kr.com/p/2441904132905090
13.百度医生在线问诊病情描述: 百度医生在线问诊黄玉明妙手医生权威专家 副主任医师全科 厦门市第五医院 提示:线上咨询不能代替面诊,医生建议仅供参考! 极速提问 有什么可以帮助的? 请把情况描述一下 有什么不适症状吗? 咳嗽,流鼻涕,右边头部疼痛,抬头低头转头都疼 已服用感冒药4天,咳嗽有所好转,但头更疼了,头重的感觉 https://m.miaoshou.net/consult/vnJRlqeL3J6d4GVX.html
14.到底医生可信还是百度可信?患者是这样说的!到底医生可信还是百度可信?患者是这样说的! “医生,你说得不对啊,跟百度不一样!”最近一段时间,一篇这样的文章在医生朋友圈风传。也许是对医生的不完全信任,一些患者会在就诊前借助网络查询对策或就诊建议,然后在医院就诊过程中与医生进行“理论”。连日来,https://mp.weixin.qq.com/s?__biz=MzAwNjI1MDE3NA==&mid=2247491584&idx=4&sn=59504b851daf121b67115220a4a537c0&chksm=9b12ebd1ac6562c763ed06a4def214678dff2255b6e074f299df9abe1e067d7c9f16a7fd5262&scene=27
15.请问我在百度上加了一个医生微信,然后说他的药可以治好病,先转了680不会负法律责任 https://www.66law.cn/question/25435496.aspx