前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我花 1 分钟写了一段爬虫,帮助小姐姐解放了双手

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

原创
作者头像
AirPython
修改2020-04-09 09:58:09
9330
修改2020-04-09 09:58:09
举报
文章被收录于专栏:Python 自动化Python 自动化

1. 场景

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

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

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

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

2. 实现步骤

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

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

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

https://curl.trillworks.com/

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
#?发出预警(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 分钟,就能写出一段爬虫,帮助小姐姐解决抢号难的问题。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 场景
  • 2. 实现步骤
  • 3. 最后
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com