python獲取集思路當日可轉債信息


# -*- coding:utf-8 -*-
import json
import requests
import csv
import re
from lxml import etree
import datetime
import pandas as pd

def get_dat():
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
    }

    newUrl ="https://www.jisilu.cn/data/cbnew/cb_list/?___jsl=LST___t=1584777951900"
    #最簡單的爬蟲請求.也可以加上headers字段,防止部分網址的反爬蟲機制
    response = requests.get(newUrl)
    #當爬取的界面需要用戶名密碼登錄時候,構建的請求需要包含auth字段
    data = response.content.decode("utf-8")
    dat = json.loads(data)

    # 所有數據
    lst_data = []
    for one in dat['rows']:
        # 每一條數據
        lst_dat = []
        # 轉債id
        id = one["id"]
        dat_cell = one["cell"]

        # 轉債名稱
        name = dat_cell['bond_nm']
        #股票名稱
        stock_nm = dat_cell['stock_nm']
        # 現價
        price = dat_cell['price']
        # 溢價率
        premium_rt = dat_cell['premium_rt']
        # 評級
        rating_cd = dat_cell['rating_cd']
        # 回售觸發價
        put_convert_price = dat_cell['put_convert_price']
        # 強贖觸發價
        force_redeem_price = dat_cell['force_redeem_price']
        # 剩余時間
        last_time = dat_cell['year_left']
        # 雙低
        dblow = dat_cell['dblow']
        #剩余規模
        curr_iss_amt=dat_cell['curr_iss_amt']
        #成交額
        volume=dat_cell['volume']
        #換手率
        turnover_rt = dat_cell['turnover_rt']
        #到期收益
        ytm_rt_tax = dat_cell['ytm_rt_tax']
        #下修次數
        adj_cnt = dat_cell['adj_cnt']
        # 統計日期
        tjrq = datetime.date.today().__format__('%Y-%m-%d')



        lst_dat.append(id)
        lst_dat.append(name)
        lst_dat.append(stock_nm)
        lst_dat.append(price)
        lst_dat.append(premium_rt)
        lst_dat.append(rating_cd)
        lst_dat.append(put_convert_price)
        lst_dat.append(force_redeem_price)
        lst_dat.append(last_time)
        lst_dat.append(dblow)
        lst_dat.append(curr_iss_amt)
        lst_dat.append(volume)
        lst_dat.append(turnover_rt)
        lst_dat.append(ytm_rt_tax)
        lst_dat.append(adj_cnt)
        lst_dat.append(tjrq)

        lst_data.append(lst_dat)
    return lst_data

def wirte_csv(data):
    # 1. 創建文件對象
    tjrq2 = datetime.date.today().__format__('%Y-%m-%d')
    c_name ="可轉債"+ tjrq2 + ".csv"
    f = open(c_name, 'w', encoding='gbk', newline='')
    # 2. 基於文件對象構建 csv寫入對象
    csv_writer = csv.writer(f)
    # 3. 構建列表頭
    csv_writer.writerow(["代 碼", "轉債名稱","股票名稱", "現 價", "溢價率", "評級",
                     "回售觸發價", "強贖觸發價", "剩余年限", "雙低", "剩余規模","成交額","換手率","到期收益","下修次數","統計日期"])
    # 4. 寫入csv文件內容
    for dat in data:
        csv_writer.writerow(dat)
    # 5. 關閉文件
    f.close()


if __name__ == '__main__':
    data = get_dat()
    wirte_csv(data)
    # df = pd.DataFrame(data)
    # print(df)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM