应用开发

我花 1 分钟写了一段爬虫,帮助小姐姐解放了双手

时间:2010-12-5 17:23:32  作者:数据库   来源:IT科技  查看:  评论:0
内容摘要:1. 场景最近有一位小姐姐向我抱怨,说她家宝宝最近要打预防针,受疫情影响,市区定点的社康医院太少,导致预约号基本靠抢,根本是一号难求每次预约都要一直守在手机旁,不停地刷新页面去抢号,太耽误功夫了,问我

 1. 场景

最近有一位小姐姐向我抱怨,花分说她家宝宝最近要打预防针,钟写助受疫情影响,段爬市区定点的虫帮社康医院太少,导致预约号基本靠抢,姐姐解放根本是双手一号难求

每次预约都要一直守在手机旁,不停地刷新页面去抢号,花分太耽误功夫了,钟写助问我有没有办法帮到她?段爬

我分析了一下,功能入口是虫帮在微信服务号内部,如果使用 自动化 去抢号,姐姐解放效率会很低,双手抢号成功率会大减。花分

因此,钟写助我决定花 1 分钟,高防服务器段爬用 Python 写一段爬虫!

2. 实现步骤

首先,我们在手机端配置手动代理,打开 Charles 或 FD,打开手机的放号界面,进行一次抓包操作

分析界面发出的请求及响应数据,右键复制 cURL 到剪切板

然后,使用下面这个网址将 cURL 转为一段完整的 Python 请求代码,包含:请求头、Cookies 等

https://curl.trillworks.com/

接着,将代码复制到 Pycharm 中,根据第一步抓包获取的数据结构,遍历数据,找出有余号、服务器托管并且最近的社康医院

result = json.loads(response.text) ym_datas = result.get(data).get(list) foo = False # 遍历每一个社康 for ym_item in ym_datas:     # 地址     address = ym_item.get(outpAddress)     # 社康名字     ym_name = ym_item.get(outpName)     # 状态,是否有号     status = ym_item.get(status)     if status == 1 and ym_name in choices:         foo = True         break     else:         pass 

最后,一旦发现有指定的社康医院有号放出,立马发出一个 警告语音提醒

# 发出预警(Mac) def raise_alarm(voice):     """     发出警报(Mac)     :param voice:     :return:     """     os.system(say %s % voice) # 发出预警(PC) def raise_alarm(voice):     """     发出警报(PC)     :param voice:     :return:     """     import winsound     winsound.Beep(500, 1000) 

3. 最后

通过上面几步操作,相信不需要 1 分钟,就能写出一段爬虫,帮助小姐姐解决抢号难的问题。

如果你觉得文章还不错,请大家点赞分享下。你的肯定是我最大的鼓励和支持。云南idc服务商

copyright © 2025 powered by 益强资讯全景  滇ICP备2023006006号-31sitemap