#coding:utf-8
defget_question():
obj={}importrequestsfrom bs4 importBeautifulSoupimporttime
first_num= 2593first_date= time.mktime(time.strptime('2019-09-08', '%Y-%m-%d'))
now_date=time.mktime(time.localtime())
cur_num= first_num + (int((now_date - first_date) / (24 * 60 * 60)))print(cur_num)
url= 'http://wufazhuce.com/question/%s' %cur_num
response= requests.get(url=url)
response.encoding=response.apparent_encoding
soup= BeautifulSoup(response.text, features="html.parser")
tar= soup.find('div', class_='one-cuestion')if nottar:print('not tar')
obj['title'] = ''
returnobj
title= tar.find('h4').text.strip()
desc= soup.find('div', class_='cuestion-contenido').text.strip()
ans= soup.find_all('div', class_='cuestion-contenido')
answer= ''
for index, answer2 inenumerate(ans):if index ==0:continueanswer=answer2.text.strip()#obj = {'title': '', 'desc': '', 'answer': ''}
obj['title'] =title
obj['desc'] =desc
obj['answer'] =answerreturnobjdefsend_email(title, desc, content):import smtplib #加载smtplib模块
from email.mime.text importMIMETextfrom email.utils importformataddrfrom email.mime.application importMIMEApplicationfrom email.mime.image importMIMEImagefrom email.mime.multipart importMIMEMultipart
sender= 'xxxxx@163.com' #发件人邮箱账号
receive = 'xxxxx@qq.com' #收件人邮箱账号
passwd = 'xxxxx'mailserver= 'smtp.163.com'port= '25'
try:
msg= MIMEMultipart('related')
msg['From'] = formataddr(["sender", sender]) #发件人邮箱昵称、发件人邮箱账号
msg['To'] = formataddr(["receiver", receive]) #收件人邮箱昵称、收件人邮箱账号
msg['Subject'] =title#文本信息
#txt = MIMEText('this is a test mail', 'plain', 'utf-8')
#msg.attach(txt)
#附件信息
#attach = MIMEApplication(open("D:\xx\\tool\pycharm\\1.csv").read())
#attach.add_header('Content-Disposition', 'attachment', filename='1.csv')
#msg.attach(attach)
#正文显示图片
body = '''【描述】:%s/br
【回答】:%s''' %(desc, content)
text= MIMEText(body, 'html', 'utf-8')
msg.attach(text)
server= smtplib.SMTP(mailserver, port) #发件人邮箱中的SMTP服务器,端口是25
server.login(sender, passwd) #发件人邮箱账号、邮箱密码
server.sendmail(sender, receive, msg.as_string()) #发件人邮箱账号、收件人邮箱账号、发送邮件
server.quit()print('success')exceptException as e:print(e)defmain_to():
obj=get_question()
res=0if obj['title']:
send_email(obj['title'], obj['desc'], obj['answer'])
res= 1
else:
res=0returnresfrom threading importTimerimporttime
timer_interval= 1
defdelayrun():print('running')
first_time= 3 * 60 * 60time.sleep(first_time)print('先歇一下')
t=Timer(timer_interval, delayrun)
t.start()
wait_time= 60
whileTrue:print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())))
res=main_to()ifres:
wait_time= 60 * 60 * 24
else:
wait_time= 60time.sleep(wait_time)