python 学习贴 抽取,倒计时,爬取抽取,爬取预约hpv

  • b
    bbbzzz
    东拼西凑的一个东西权重随机抽取,最后打包exe大概5MB大小的exe
    1. # coding:utf-8import random #导入随机函数import timeimport os
    2. list = ['第1名中奖', '第2名中奖', '第3名中奖', '第4名中奖'] #随机序列选项
    3. print("输入4个权重值以空格键隔开,回车后此程序将自动按输入的权重值给出1-4名中权重随机选项") #提示输入权重值参数信息
    4. arr = input("") #输入一个一维数组,每个数之间使空格隔开num = [int(n) for n in arr.split()] #将输入每个数以空格键隔开做成数组
    5. def weight_choice(weight): """ :param weight: list对应的权重序列 :return:选取的值在原列表里的索引def weight_choice(weight): """ t = random.randint(0, sum(weight) - 1) for i, val in enumerate(weight): t -= val if t < 0: return i
    6. if __name__ == "__main__":
    7. print(list[weight_choice(num)]) #打印结果 # 例子 print(list[weight_choice([184, 156, 156, 152])])print("抽取时间")print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))) #打印时间
    8. #......os.system('pause') #暂停
    复制代码
  • b
    bbbzzz
    第二个程序倒数秒,GUI程序

    1. # Countdown using Tkinter
    2. from tkinter import *
    3. import time
    4. import tkinter.messagebox

    5. class App:
    6. def __init__(self,master):
    7. frame = Frame(master)
    8. frame.pack()
    9. #self.entryWidget = Entry(frame)
    10. #self.entryWidget["width"] = 20
    11. #self.entryWidget.pack(side=LEFT)
    12. self.hi_there = Button(frame, text="开始计时5分钟", command=self.start)
    13. self.hi_there.pack(side=LEFT)

    14. self.hi_there = Button(frame, text="开始计时10分钟", command=self.start2)
    15. self.hi_there.pack(side=LEFT)
    16. self.button = Button(frame, text="退出", fg="red", command=frame.quit)
    17. self.button.pack(side=LEFT)


    18. def start2(self):
    19. num = 600
    20. self.countDown(num)
    21. def start(self):
    22. num = 30
    23. self.countDown(num)

    24. def countDown(self,seconds):
    25. lbl1.config(bg='yellow')
    26. lbl1.config(height=3, font=('times', 110, 'bold'))
    27. for k in range(seconds, 0, -1):
    28. if k == 30:
    29. print("\a")
    30. if k== 29:
    31. print("\a")
    32. if k== 28:
    33. print("\a")
    34. lbl1["text"] = k
    35. root.update()
    36. time.sleep(1)
    37. lbl1.config(bg='red')
    38. lbl1.config(fg='black')
    39. lbl1["text"] = "时间到!"
    40. tkMessageBox.showinfo("时间到!","时间到!")

    41. def GetSource():
    42. get_window = Tkinter.Toplevel(root)
    43. get_window.title('Source File?')
    44. Tkinter.Entry(get_window, width=30,
    45. textvariable=source).pack()
    46. Tkinter.Button(get_window, text="Change",
    47. command=lambda: update_specs()).pack()

    48. root = Tk()
    49. root.title("Countdown")
    50. lbl1 = Label()
    51. lbl1.pack(fill=BOTH, expand=1)
    52. app = App(root)
    53. root.mainloop()
    复制代码
  • 懒散的牛
    马克一下。 iOS fly ~
  • b
    bbbzzz
    回复2#bbbzzz
    改进了窗口最大化和字体巨大

    1. # Countdown using Tkinter
    2. from tkinter import *
    3. import time
    4. import tkinter.messagebox

    5. class App:
    6. def __init__(self,master):
    7. frame = Frame(master)
    8. frame.pack()
    9. self.hi_there = Button(frame, text="开始计时5分钟", command=self.start)
    10. self.hi_there.pack(side=LEFT)
    11. self.hi_there = Button(frame, text="开始计时10分钟", command=self.start2)
    12. self.hi_there.pack(side=LEFT)
    13. self.button = Button(frame, text="退出", fg="red", command= root.destroy)
    14. self.button.pack(side=LEFT)


    15. def start2(self):
    16. num = 600
    17. self.countDown(num)

    18. def start(self):
    19. num = 300
    20. self.countDown(num)

    21. def countDown(self,seconds):
    22. lbl1.config(bg='yellow')
    23. lbl1.config(height=1, font=('times', 500, 'bold'))
    24. for k in range(seconds, 0, -1):

    25. lbl1["text"] = k
    26. root.update()
    27. time.sleep(1)
    28. lbl1.config(bg='red')
    29. lbl1.config(fg='black')
    30. lbl1["text"] = "时间到!"

    31. def GetSource():
    32. get_window = Tkinter.Toplevel(root)
    33. get_window.title('Source File?')
    34. Tkinter.Entry(get_window, width=30,
    35. textvariable=source).pack()
    36. Tkinter.Button(get_window, text="Change",
    37. command=lambda: update_specs()).pack()

    38. root = Tk()
    39. root.attributes("-fullscreen", True)
    40. root.title("Countdown")
    41. lbl1 = Label()
    42. lbl1.pack(fill=BOTH, expand=1)
    43. app = App(root)
    44. root.mainloop()
    复制代码
  • w
    wisedan
    学习下
  • b
    bbbzzz
    #第四个程序
    #爬取澳门镜湖医院疫苗及下预约
    1. [code]#!/usr/bin/env python
    2. # -*- coding: utf-8 -*-

    3. import smtplib
    4. import pandas as pd


    5. td=pd.read_html('http://www.kwh.org.mo/',encoding='utf-8')
    6. tds=str(td)
    7. if tds.find('有少量貨源提供给首次注射人士')==1:
    8. a='有货'
    9. #-------------------发送邮件START
    10. from email.mime.text import MIMEText
    11. from email.mime.multipart import MIMEMultipart
    12. from email.mime.image import MIMEImage
    13. fromaddr = 'xxxx@163.com'#邮件发送方邮箱地址
    14. password = 'xxxx' #密码(部分邮箱为授权码)
    15. toaddrs = ['xxx@163.com','xxx@qq.com']
    16. message = MIMEText('姓名:xxx \n性别:女 \n证件号:1.身份证:xxx 2.港澳通行证: \n联系电话:xxx \n预约日期:1.2021年4月16日、2.2021年4月19日、3.2021年4月19日\n邮箱:xxx'+a)
    17. message['Subject'] = 'xxxHPV预约'
    18. sender = 'xxx@163.com'
    19. receivers = ['xxxx@163.com','xxx@qq.com','health@kwh.org.mo']
    20. #发送方信息
    21. message['From'] = 'xxx@163.com'
    22. #接受方信息
    23. message['To'] = receivers[0]+','+receivers[1]
    24. #---------------------------------------------------------------------
    25. #登录并发送邮件
    26. try:
    27. server = smtplib.SMTP('smtp.163.com')#163邮箱服务器地址,端口默认为25
    28. server.login(fromaddr,password)
    29. server.sendmail(fromaddr, toaddrs, message.as_string())
    30. print( "邮件发送成功")
    31. except smtplib.SMTPException as e:
    32. print('error',e) #打印错误

    33. #--------------------------发送邮件END
    34. else:
    35. a='没货'




    36. print(a)
    复制代码
    [/code]
  • y
    yandongdiy
    回复5#bbbzzz

    学习记录一下
  • g
    guangjian
    Mark you iOS fly ~