我花 1 分钟写了一段爬虫,帮助小姐姐解放了双手
1. 場景
最近有一位小姐姐向我抱怨,說她家寶寶最近要打預(yù)防針,受疫情影響,市區(qū)定點的社康醫(yī)院太少,導(dǎo)致預(yù)約號基本靠搶,根本是一號難求
每次預(yù)約都要一直守在手機旁,不停地刷新頁面去搶號,太耽誤功夫了,問我有沒有辦法幫到她?
我分析了一下,功能入口是在微信服務(wù)號內(nèi)部,如果使用?自動化?去搶號,效率會很低,搶號成功率會大減。
因此,我決定花 1 分鐘,用 Python 寫一段爬蟲!
2. 實現(xiàn)步驟
首先,我們在手機端配置手動代理,打開 Charles 或 FD,打開手機的放號界面,進(jìn)行一次抓包操作
分析界面發(fā)出的請求及響應(yīng)數(shù)據(jù),右鍵復(fù)制 cURL 到剪切板
然后,使用下面這個網(wǎng)址將 cURL 轉(zhuǎn)為一段完整的 Python 請求代碼,包含:請求頭、Cookies 等
https://curl.trillworks.com/
接著,將代碼復(fù)制到 Pycharm 中,根據(jù)第一步抓包獲取的數(shù)據(jù)結(jié)構(gòu),遍歷數(shù)據(jù),找出有余號、并且最近的社康醫(yī)院
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')#?狀態(tài),是否有號status?=?ym_item.get('status')if?status?==?'1'?and?ym_name?in?choices:foo?=?Truebreakelse:pass最后,一旦發(fā)現(xiàn)有指定的社康醫(yī)院有號放出,立馬發(fā)出一個?警告語音提醒
#?發(fā)出預(yù)警(Mac) def?raise_alarm(voice):"""發(fā)出警報(Mac):param?voice::return:"""os.system('say?%s'?%?voice)#?發(fā)出預(yù)警(PC) def?raise_alarm(voice):"""發(fā)出警報(PC):param?voice::return:"""import?winsoundwinsound.Beep(500,?1000)3. 最后
通過上面幾步操作,相信不需要 1 分鐘,就能寫出一段爬蟲,幫助小姐姐解決搶號難的問題。
如果你覺得文章還不錯,請大家點贊分享下。你的肯定是我最大的鼓勵和支持。
END 來和小伙伴們一起向上生長呀~~~ 掃描下方二維碼,添加小詹微信,可領(lǐng)取千元大禮包并申請加入 Python學(xué)習(xí)交流群,群內(nèi)僅供學(xué)術(shù)交流,日常互動,如果是想發(fā)推文、廣告、砍價小程序的敬請繞道!一定記得備注「交流學(xué)習(xí)」,我會盡快通過好友申請哦!(添加人數(shù)較多,請耐心等待)(掃碼回復(fù) 1024? 即可領(lǐng)取IT資料包)總結(jié)
以上是生活随笔為你收集整理的我花 1 分钟写了一段爬虫,帮助小姐姐解放了双手的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记一次 Python Web 接口优化
- 下一篇: 带你玩转Pandas