实现了节假日判断后,在主预约程序里加一个判断,如果要预约的日子是工作日,再后延一日,继续判断,直到遇到一个非工作日
这里展示一下判断日期类型的代码:
import requestsfrom lxml import etreeimport datetimeimport osdef getDaysInfo(ym): cacheName = ym + ".html" if os.path.exists(cacheName): content = open(cacheName).read() else: content = requestsDayInfo(ym) saveFile(cacheName, content) return contentdef requestsDayInfo(ym=None): headers = { 'sec-ch-ua': '"google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"', 'Referer': 'https://wannianrili.bmcx.com/', 'sec-ch-ua-mobile': '?0', 'User-Agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36', } params = ( ('q', ym), ('v', '20031912'), ) response = requests.get('https://wannianrili.bmcx.com/ajax/', headers=headers, params=params) return response.textdef saveFile(name, content): print(name) f = open(name,'w') f.write(content) f.close()def parse(content, d): html = etree.HTML(content) dayclass = html.xpath('//*[@id="wnrl_riqi_id_'+str(int(d)-1)+'"]')[0].attrib.get('class') if dayclass is None or dayclass == 'wnrl_riqi_ban': return 1 elif dayclass == 'wnrl_riqi_mo': return 2 elif dayclass == 'wnrl_riqi_xiu': return 3 else: return 0def getDayType(date): str_date = date.strftime('%Y-%m-%d') ymd = str_date.split("-") ym = ymd[0] + '-' + ymd[1] d = ymd[2] return parse(getDaysInfo(ym), d)if __name__ == "__main__": delta = 1 # 探索步长为一日 date = datetime.date.today() while(getDayType(date)<2): delta += 1 date = datetime.date.today() + datetime.timedelta(days=delta)总结好了,现在又可以做优雅的老爸了哈哈,对孩子最好的教育就是陪孩子一起成长,无论是什么方面,如果你恰巧喜欢编程,会编程的话,可以尝试和孩子一起做些有意思的东西,比如 做个掷骰子游戏[7]
推荐阅读
- 2021年校招程序员之阿里四个部门的十轮面试问题
- 北美程序员升职加薪必备的20种能力
- Google公布程序员一天代码量!你猜对了么?
- 1kj是多少斤脂肪?1kj是多少公斤
- 中国女人最不能嫁哪国男人
- 什么样的人不能喝冰菊,菊花茶什么样的好
- 蟹爪兰哪三个地方不能放?
- 莲子为什么不能天天吃,有人天天吃
- 程序员缺乏经验的 7 种表现
- 宝宝哭的上不来气
