LimitUpNewsData.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- coding:utf-8 -*-
  2. __author__ = 'weijie'
  3. from EmQuantAPI import *
  4. from datetime import timedelta, datetime
  5. from time import sleep
  6. import traceback
  7. import requests
  8. import re
  9. from dbOperationStock import dbOperationStock
  10. import db_config
  11. import json
  12. def cnqCallback(quantdata):
  13. url = 'http://taifooksec.com/api/news/batchAddNews.do'
  14. newsList = []
  15. for code in quantdata.Data:
  16. for k in range(0, len(quantdata.Data[code])):
  17. se = requests.session()
  18. url = "http://app.jg.eastmoney.com/NewsData/GetNewsText.do?cid=Admin&cid=Admin&id=" + quantdata.Data[code][k][5]
  19. dfNews = se.post(url).text.replace("'", '"').replace('/ ', '/')
  20. dfNew = eval(dfNews)
  21. content = str(dfNew['text']).replace("<a","<span").replace("/a>","/span>")
  22. pattern = 'https://z1.*?\.jpg'
  23. p2 = re.findall(pattern, str(content))
  24. imgUrl = "http://taifooksec.com/public/default.png"
  25. if(0 != len(p2)) :
  26. imgUrl = p2[0]
  27. news = {}
  28. news['title'] = str(dfNew['Title'])
  29. news['cover'] = str(imgUrl)
  30. news['content'] = str(content)
  31. news['source'] = str(dfNew['medianame'])
  32. news['hot'] = "0"
  33. news['publishTime'] = str(dfNew['Date'])
  34. newsList.append(news)
  35. headers = {'Content-Type': 'application/json'}
  36. response = requests.post(url=url, headers=headers, data=json.dumps(newsList))
  37. class LimitUpNewsData:
  38. def toGet(self):
  39. try:
  40. data = c.cnq("S888005002API,S888005003API,S888005004API,S888005005API,S888005010API,S888005008API,S888005009API","sectornews","",cnqCallback)
  41. if data.ErrorCode != 0:
  42. print("request cnq Error, ", data.ErrorMsg)
  43. else:
  44. print("cnq输出结果======分隔线======")
  45. except Exception as ee:
  46. print("error >>>",ee)
  47. traceback.print_exc()
  48. else:
  49. print("demo end")