sportslst.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # -*- coding: utf-8 -*-
  2. # Define your item pipelines here
  3. #
  4. # Don't forget to add your pipeline to the ITEM_PIPELINES setting
  5. # See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html
  6. import json
  7. import pymongo
  8. import requests
  9. from collectSports.biz import getMongo
  10. from pycomm.mongo import DBMongo
  11. class SportslstPipeline(object):
  12. def open_spider(self, spider):
  13. self.host = '192.168.2.200'
  14. self.port = 27017
  15. self.dbname = 'kaiyou' # 数据库名
  16. self.client = pymongo.MongoClient(host=self.host, port=self.port)
  17. self.tdb = self.client[self.dbname]
  18. self.port = self.tdb['zq_league'] # 表名
  19. # competition
  20. self.port2 = self.tdb['zq_competition'] # 表名
  21. def process_item(self, item, spider):
  22. mongo = getMongo()
  23. # print(mongo)
  24. # zaopan = item['csource']
  25. # if zaopan == 'zaopan':
  26. # zq_leagues = set(item['zq_league'])
  27. # zq_matchs = set(item['zq_match'])
  28. # for zq_league in zq_leagues:
  29. # mongo.changeSet('zq_league').insert(dict(zq_league))
  30. # for zq_match in zq_matchs:
  31. # mongo.changeSet('zq_competition').insert(dict(zq_match))
  32. # return item
  33. zb = item['csource']
  34. if zb == 'zhibo':
  35. zb_lists = item['zq_zhibo']
  36. # print(zb_lists)
  37. list = []
  38. for i in zb_lists:
  39. # print(i)
  40. dic = {}
  41. dic['title'] = 'broadcast'
  42. dic['game_code'] = 'zq'
  43. # dic['data'] = i
  44. dic['data'] = {}
  45. dic['data']['doing'] = i['doing']
  46. dic['data']['game_type'] = i['game_type']
  47. dic['data']['guest_team'] = i['guest_team']
  48. dic['data']['host_team'] = i['host_team']
  49. dic['data']['league_name'] = i['league_name']
  50. dic['data']['shower'] = i['shower']
  51. dic['data']['showid'] = i['showid']
  52. dic['data']['start_time'] = i['start_time']
  53. # print(dic)
  54. if dic['data']['showid'] == mongo.changeSet('zq_zhibo').find({'showid': dic['data']['showid']}):
  55. mongo.changeSet('zq_zhibo').update(dic)
  56. else:
  57. mongo.changeSet('zq_zhibo').insert(dic)
  58. list.append(dic)
  59. # print(list)
  60. r = requests.post(url='http://admin.5gogo.com/setSports', data={"data": json.dumps(list)})
  61. print(r.text)
  62. def close_spider(self, spider):
  63. self.client.close()