程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python賺錢小秘籍-每日打新提醒

編輯: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

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved