zhibo.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # import datetime
  2. import datetime
  3. import pymongo
  4. import time
  5. import logging
  6. from twisted.internet import defer, reactor
  7. from ..utils.helper import Helper
  8. from ..settings import M_HOST, M_USER, M_PASSWORD, M_POST, M_DB, MATCHWARN
  9. # 滚球足球 插入
  10. class Zuqiupipeline(object):
  11. def open_spider(self, spider):
  12. pass
  13. # self.mongo = pymongo.MongoClient(host=M_HOST, username=M_USER, password=M_PASSWORD, port=M_POST)
  14. # self.db = self.mongo[M_DB]
  15. # @defer.inlineCallbacks
  16. # def process_item(self, item, spider):
  17. # out = defer.Deferred()
  18. # reactor.callInThread(self._do_calculation, item, out)
  19. # yield out
  20. # defer.returnValue(item)
  21. def process_item(self, item, spider):
  22. # def _do_calculation(self, item, out):
  23. logger = logging.getLogger(__name__)
  24. detail_datas = item['detail']
  25. mid = item['mid']
  26. warns = []
  27. warn_dict = {"game_code": "zq", "title": "match", "source": "hg3535", "match_id": mid}
  28. for detail_data in detail_datas:
  29. team_name, event_name, event_uts = detail_data
  30. find_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(event_uts))
  31. detail_dict = {"find_time": find_time, "warn_name": event_name}
  32. warns.append(detail_dict)
  33. if warns:
  34. warn_dict['data'] = warns
  35. res = Helper.async_post(MATCHWARN, warn_dict)
  36. if res.get('status') == 1:
  37. print('危险球提交成功')
  38. logger.info('足球直播危险球提交成功, {}'.format(res))
  39. else:
  40. logger.warning('足球直播危险球提交成功,提交失败, {}'.format(res))
  41. else:
  42. logger.info('足球直播危险球列表为空, 不提交')