首页 > 其他分享 >爬取财务公司售汇汇率数据

爬取财务公司售汇汇率数据

时间:2023-07-11 15:15:59浏览次数:30  
标签:财务 df list 售汇 爬取 sql date datetime rq

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time:2021/12/18 10:06
# @Author:李宏
# @File:fms.py
# @Sofeware :PyCharm
import os
from datetime import datetime, timedelta
import json, requests
import pandas as pd
from option_mssql import mssql_query
from share import SI

def crawlFinanceCompanyExchangeRate():  # 功能: 爬取财务公司售汇汇率 数据
    sql = ' SELECT top 1 rq FROM hl order by rq desc '
    oldDate = mssql_query(sql, 3)['rq']
    if len(oldDate) > 0:
        beginDate = oldDate[0] + timedelta(days=1)
        beginDate = datetime.strftime(beginDate, '%Y-%m-%d')
    else:
        beginDate = '20000101'
    endDate = datetime.today()        # 获取昨天日期 + timedelta(days=-1)
    endDate = datetime.strftime(endDate, '%Y-%m-%d').replace('-', '')
    date_list = [datetime.strftime(x, '%Y-%m-%d') for x in list(pd.date_range(start=beginDate , end=endDate))]
    if len(date_list)==0:
        return None
    os.environ['NO_PROXY'] = 'https://cpfnw.eip.cnpc:8081'
    url = 'https://cpfnw.eip.cnpc:8081/getPriceByPage?pageNum=1&pageSize=100&startTime=&endTime='
    # proxy = {
    #     'https':'https://10.8.19.178:8081',
    #     'http':'http://10.8.19.178:8081'
    # }
    response = requests.get(url, verify=False)
    if response.status_code != requests.codes.ok:
       return None
    header = ['rq','hl','oy','yb','gb']
    records = json.loads(response.text)['pageList']
    df = pd.DataFrame(records)
    df = df[['price_date','shou_mei','shou_ou','shou_ying','shou_gang']]
    df.columns = header
    if len(date_list) > 1:
         df =  df[df['rq'].isin(date_list)]
    elif len(date_list) == 1:
         df =  df[ df['rq'] == date_list[0]]
    if len(date_list)==0 | df.shape[0] == 0 :
        SI.alarmMessageBox(" 无需下载!")
        return None
    df.sort_values(by='rq', inplace=True)
    df['bz'], df['state']= '', 0
    count = 0
    # print(df.head(5000))
    # exit()
    for row in range(df.shape[0]):
        sql = ''' 
            insert into hl(rq, hl, oy, yb, gb, bz, state) values(
            '''
        for col in range(df.shape[1]):
            if col == 0:
                sql = sql + '\'' + df.iloc[row, col].strip() + '\','
            elif not SI.isnumber(df.iloc[row, col]):
                sql = sql +   ' 0 ,'
            else:
                sql = sql + str(format(float(df.iloc[row, col]), '.4f')) + ','
        sql = sql[0:-1] + ')'
        # print(sql)
        count = count + mssql_query(sql, 8)  # 将 DataFrame 最终内容 存入数据库
    return count
if __name__ == '__main__':
    if crawlFinanceCompanyExchangeRate():
        SI.alarmMessageBox(f" 财务公司汇率售汇价 爬取完成! ")
    else:
        SI.alarmMessageBox(" 无需下载! ")


标签:财务,df,list,售汇,爬取,sql,date,datetime,rq
From: https://www.cnblogs.com/HeroZhang/p/17544691.html

相关文章

  • 财务做账手法
    1.成本费用互化操作方法:将属于成本项目的支出帐务处理变为费用以达到当期税前扣除的目的,或将属于费用项目的支出成本化以达到控制税前扣除比例及夸大当期利润的目的。原因:因为成本由直接人工,直接材料,制造费用组成,而直接人工、制造费用和销售费用、管理费用等容易混淆,所以是该操......
  • 财务高手-资本高手
    下面我举个例子,为了便于理解数字可能有夸大,但都有现实案例:一、明股实债,加杠杆降低融资成本有一个上市公司正处于疯狂扩张期,老板急需巨额资金,只能借款,又要求融资成本不能过高,最好年化5-7%,还要是长期的三年以上的。公司之前能从银行贷的款基本都贷过了,能抵押的资产也都抵押了。了解......
  • ChatGPT炒股:爬取氢能行业企业名录
    全球氢能网有氢能源相关企业的列表,怎么全部爬取下来呢?先看翻页规律:http://h2.china-nengyuan.com/company/company_0.htmlhttp://h2.china-nengyuan.com/company/company_1.htmlhttp://h2.china-nengyuan.com/company/company_21.html很简单,就是最后一个数字。然后看每页的结构和企......
  • 财务公司主要业务介绍
    财务公司主要业务说明一、资产业务资产业务主要指财务公司资金的去向,是财务公司最重要的业务类型,为什么这么说呢?因为该项业务体现着财务公司的资产规模。此外,由于财务公司资产主要是运用这些资金为企业集团提供金融服务,所以该项业务对于企业集团也有着重要意义。资产业务主要包......
  • 德国光学巨头蔡司(Zeiss)年度财务数据
    日前,德国光学巨头蔡司(Zeiss)发布了有史以来最好的年度财务数据,其在研发方面的投资也节节攀升。财报显示,截至2021年9月30日的2020/21财年,蔡司(Zeiss)实现了75.3亿欧元的销售收入(去年为62.97亿欧元),这是该公司175年历史上的最高总收入,比受新冠疫情影响的2020年增长了20%。息税前利......
  • urllib+BeautifulSoup爬取并解析2345天气王历史天气数据
    urllib+BeautifulSoup爬取并解析2345天气王历史天气数据网址:东城历史天气查询_历史天气预报查询_2345天气预报1、代码importjsonimportloggingimporturllib.parsefromdatetimeimportdate,datetimefromrandomimportrandintfromtimeimportsleepimportpymy......
  • 业财一体化财务对接解决方案
    传统的物业管理系统往往只关注与本身系统中各块业务的管理,而与第三方业务系统需要交换数据时,都采用导出再导入的方式,过程中往往有导出的数据不符合导入系统的规则,需要数据管理人员手工处理数据,费时费力且易造成数据失真,严重影响工作效率与数据的准确性。随着市场的发展,协同合作共......
  • 爬取自己的csdn目录
    导包就不细说了:<!--https://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit--> <dependency> <groupId>net.sourceforge.htmlunit</groupId> <artifactId>htmlunit</artifactId> <version>2.35.0</versi......
  • 爬取大量数据有什么爬虫技巧?
    爬虫数据在许多情况下都是非常有用的,爬虫数据提供了对市场和竞争对手的深入了解,可用于商业智能和市场调研。通过采集关于产品、评论、竞争对手策略等,企业可以做出更明智的决策。爬虫数据可用于构建内容聚合网站或搜索引擎。通过采集各种来源的数据,可以构建一个丰富、多样化的内容库......
  • 爬取英雄联盟全皮肤+高清处理
    喜欢lol原画的朋友喜欢把这些精美壁纸当成电脑桌面,要是能每天一换那就完美了。截止目前,英雄联盟共有英雄160多个,皮肤总数量高达1700多。这里就分享一下如何爬取皮肤吧。一.思路百度搜索任意一个皮肤网站,找到获取皮肤的接口,通过这个接口及其特有的规则,来做皮肤爬取......