2025年4月3日 星期四 乙巳(蛇)年 正月初四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

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

时间:10-12来源:作者:点击数:29

1. 场景

最近有一位小姐姐向我抱怨,说她家宝宝最近要打预防针,受疫情影响,市区定点的社康医院太少,导致预约号基本靠抢,根本是一号难求

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

图片

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

因此,我决定花 1 分钟,用 Python 写一段爬虫!

2. 实现步骤

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

图片

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

图片

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

图片

接着,将代码复制到 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(5001000)

3. 最后

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

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐