提交 da835fd7 作者: LiuLiYuan

获取CIK 9/8

上级 7dcd1a4c
......@@ -678,9 +678,19 @@ class BaseCore:
id = selects[0]
return id
# 更新企业的CIK
def updateCIK(self,social_code,cik):
try:
sql = f"UPDATE EnterpriseInfo SET CIK = '{cik}' WHERE SocialCode = '{social_code}'"
cnn = self.pool_caiji.connection()
cursor = cnn.cursor()
cursor.execute(sql)
cnn.commit()
cursor.close()
cnn.close()
except:
log = self.getLogger()
log.info('======保存企业CIK失败=====')
......
......@@ -19,6 +19,8 @@ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
from bs4 import BeautifulSoup
from kafka import KafkaProducer
# from selenium import webdriver
log = baseCore.getLogger()
def paserUrl(html,listurl):
# soup = BeautifulSoup(html, 'html.parser')
......@@ -237,6 +239,39 @@ def getrequest(social_code,url,headers,data):
result = ''
return result
def getCIK(social_code,code):
cik = ''
#"MNSO" post请求 获取企业CIK
payload = {"keysTyped":f"{code}","narrow":True}
data = json.dumps(payload)
result = getrequest(social_code,url,headers,data)
#判断接口返回的数据哪一条是该企业 根据股票代码
tickers = result['hits']['hits']
if len(tickers) == 0:
log.error(f'{code}....{social_code}....无hits')
return cik
for ticker in tickers:
try:
i_t_ = ticker['_source']['tickers']
i_ts = i_t_.split(', ')
except:
continue
for i_t in i_ts:
if i_t == code:
cik = ticker['_id']
if len(cik) < 10:
cik = format(int(cik),'0>10d')
baseCore.updateCIK(social_code,cik)
break
if cik != '':
break
if cik == '':
log.error(f'{code}....{social_code}....无CIK')
else:
log.info(f'{code}....{social_code}....cik为{cik}')
return cik
if __name__ == '__main__':
headers = {
'authority': 'efts.sec.gov',
......@@ -308,7 +343,7 @@ if __name__ == '__main__':
# print(cik)
# break
# break
spider(com_name,cik)
# spider(com_name,cik)
# break
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论