python赚钱小秘籍-每日打新提醒
股市打新债卷,只要中签基本是稳赚不赔,但是也不是每天都有,天天看也麻烦。于是便有了下面的自动化程序。
import requests import time import smtplib from datetime import datetime from email.mime.text import MIMEText def web(): url = 'https://www.jisilu.cn/data/cbnew/pre_list/?___jsl=LST___t=1633347537744' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36' } data = { 'progress': '', 'rp': '22', 'page': '1' } try: dic_bond = requests.post(url, data, headers).json() data_list = [] data_list2 = [] num = 0 num1 = 0 num2 = 0 num3 = 0 now_time = '今天可申购:' future_time = '未来可申购:' for i in range(len(dic_bond['rows'])): if '' == dic_bond['rows'][i]['cell']['bond_id']: break bond_id = dic_bond['rows'][i]['cell']['bond_id'] bond_nm = dic_bond['rows'][i]['cell']['bond_nm'] progress_nm = dic_bond['rows'][i]['cell']['progress_nm'] rating_cd = dic_bond['rows'][i]['cell']['rating_cd'] stock_nm = dic_bond['rows'][i]['cell']['stock_nm'] amount = dic_bond['rows'][i]['cell']['amount'] d1 = datetime.strptime(time.strftime("%Y-%m-%d", time.localtime()), '%Y-%m-%d') d2 = datetime.strptime(progress_nm[:10], '%Y-%m-%d') if d1 > d2: break elif d1 == d2: if '申购'in progress_nm: num += 1 # now_time = '<h3>今天可申购:</h3>' content = '<br \>代码:' + bond_id + '<br \>名称:' + bond_nm + '<br \>正股名称:' + stock_nm + '<br \><font color="red">时间:' + progress_nm[:12] + '</font>'+ '<br \>' + '评级: ' + rating_cd + '<br \>'+ '发行规模(亿元):' + amount + '<br \> <br \>' # data_list1.append(now_time) data_list.append(content) if '上市'in progress_nm: num1 += 1 # now_time = '<h3>今天可申购:</h3>' # content1 = '<br \>代码:' + bond_id + '<br \>名称:' + bond_nm + '<br \>正股名称:' + stock_nm + '<br \>时间:' + progress_nm[:12] + '<br \>' + '评级: ' + rating_cd + '<br \>'+ '发行规模(亿元):' + amount + '<br \> <br \>' content1 = '<br \>代码:' + bond_id + '<br \>名称:' + bond_nm + '<br \>正股名称:' + stock_nm + '<br \>时间:' + progress_nm[:12] + '<br \>' + '评级: ' + '发行规模(亿元):' + amount + '<br \> <br \>' # data_list1.append(now_time) data_list.append(content1) elif d1 < d2: if '申购'in progress_nm: num2 += 1 # future_time = '<h3>未来可申购:</h3>' content = '<br \>代码:' + bond_id + '<br \>名称:' + bond_nm + '<br \>正股名称:' + stock_nm + '<br \><font color="green">时间:' + progress_nm[:12] + '</font>' + '<br \>' + '评级: ' + rating_cd + '<br \>'+ '发行规模(亿元):' + amount + '<br \> <br \>' # data_list2.append(future_time) data_list2.append(content) if '上市'in progress_nm: num3 += 1 # now_time = '<h3>今天可申购:</h3>' content1 = '<br \>代码:' + bond_id + '<br \>名称:' + bond_nm + '<br \>正股名称:' + stock_nm + '<br \>时间:' + progress_nm[:12] + '<br \>' + '评级: ' + rating_cd + '<br \>'+ '发行规模(亿元):' + amount + '<br \> <br \>' # data_list1.append(now_time) data_list2.append(content1) now_time += str(num) now_time = "<h3><font color='red'>" + now_time + "</font></h3>" future_time += str(num2) future_time = "<hr /><h3><font color='green'>" + future_time + "</font></h3>" data_list.insert(0,now_time) data_list2.insert(0,future_time) data_list.extend(data_list2) # else: # content = '代码:' + bond_id + '<br \>名称:' + bond_nm + '<br \>正股名称:' + stock_nm + '<br \>时间:' + progress_nm[:12] + '<br \>' + '评级: ' + rating_cd + '<br \>'+ '发行规模(亿元):' + amount + '<br \> <br \>' # data_list.append(content) print(datetime.now().strftime("%Y-%m-%d %H:%M:%S")) str_data = ''.join(data_list) print(str_data) email(str_data) except IOError: print('异常!') def email(str_data): mail_host = 'smtp.qq.cn' mail_user = '******@qq.com' #邮箱账户 mail_pass = '*******' #邮箱授权码 sender = '******@qq.com' #发送邮箱账户 receivers = ['*****@qq.com,*****@qq.com'] #接受邮箱账户 mail_msg = """ <html> <body> <p><a href="https://www.jisilu.cn/data/cbnew/#pre">集思录转债</a></p> $(data_list) </body> </html> """ mail_msg = mail_msg.replace("$(data_list)", str_data) message = MIMEText(mail_msg, 'html', 'utf-8') message['Subject'] = '转债申购/上市消息' message['From'] = sender # message['To'] = receivers[0] # message['To'] = receivers message['To'] = ','.join(receivers) try: # smtpObj = smtplib.SMTP() # smtpObj.connect(mail_host, 25) smtpObj = smtplib.SMTP_SSL("smtp.qq.com", 465) smtpObj.set_debuglevel(1) smtpObj.login(mail_user, mail_pass) # smtpObj.sendmail(sender, receivers, message.as_string()) smtpObj.sendmail(sender, message['To'].split(','), message.as_string()) smtpObj.quit() print('Email sent successfully') except smtplib.SMTPException as e: print('error', e) if __name__ == '__main__': web()
然后将脚本放到电脑上,设置每天定时运行。这里我用的是centos服务器的crontab定时服务。
编辑crontab脚本
crontab -e
添加如下代码,然后保存
46 09 * * 1,2,3,4,5 python3 /home/sky/main.py
每周1,2,3,4,5早上9点46定时运行此脚本(周末股市休息所以不运行)
重启crontab
systemctl restart crond
__EOF__

本文作者:Harry
本文链接:https://www.cnblogs.com/harry66/p/16468756.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/harry66/p/16468756.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文来自博客园,作者:Harry_666,转载请注明原文链接:https://www.cnblogs.com/harry66/p/16468756.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?