source.py 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. #encoding:UTF8
  2. from dataSource.setttings import *
  3. import requests
  4. import json
  5. import pymysql
  6. import pymongo
  7. from py2neo import Graph,NodeMatcher
  8. import tablestore
  9. import psycopg2
  10. from elasticsearch import Elasticsearch
  11. def solrQuery(collection,args):
  12. if collection in solr_collections:
  13. _arg = ""
  14. for k,v in args.items():
  15. _arg += "&%s=%s"%(k,v)
  16. _arg = _arg[1:]
  17. url = "%s%s/select?%s"%(solr_collections[collection],collection,_arg)
  18. resp = requests.get(url)
  19. if resp.status_code==200:
  20. return json.loads(resp.content.decode())
  21. return None
  22. def solrQuery_url(url):
  23. resp = requests.get(url)
  24. if resp.status_code==200:
  25. return json.loads(resp.content.decode())
  26. return None
  27. def getConnection_mysql(db=None):
  28. if db is None:
  29. db = mysql_db
  30. connect = pymysql.Connect(host=mysql_host, port=mysql_port, db=db, user=mysql_user, passwd=mysql_pass)
  31. return connect
  32. def getConnection_testmysql(db=None):
  33. if db is None:
  34. db = test_mysql_db
  35. connect = pymysql.Connect(host=test_mysql_host, port=test_mysql_port, db=db, user=test_mysql_user, passwd=test_mysql_pass)
  36. return connect
  37. def getConnection_postgres(db):
  38. conn = psycopg2.connect(dbname=db,user="postgres",password="postgres",host="192.168.2.103")
  39. return conn
  40. def getConnection_oracle():
  41. import cx_Oracle
  42. connect = cx_Oracle.connect(oracle_user,oracle_pass,'%s:%s/%s'%(oracle_host,oracle_port,oracle_db), encoding = "UTF-8", nencoding = "UTF-8")
  43. # connect = cx_Oracle.connect('%s/%s@%s:%s/%s'%(oracle_user,oracle_pass,oracle_host,oracle_port,oracle_db))
  44. return connect
  45. def getConnect_mongodb():
  46. client = pymongo.MongoClient(mongo_host,mongo_port)
  47. db = client[mongo_db]
  48. db.authenticate(mongo_user,mongo_pass)
  49. return db
  50. def make_elasticSearch(elasticSearch_url,query,auth):
  51. resp = requests.post(elasticSearch_url,json=query,auth=auth)
  52. print(resp.status_code)
  53. if resp.status_code==200:
  54. return json.loads(resp.content.decode())
  55. return None
  56. def getConnect_neo4j():
  57. graph = Graph(host=neo4j_host,auth=(neo4j_user,neo4j_pass))
  58. return graph
  59. # finded = graph.run("MATCH (n:Organization)-[R:ZhaoBiaoRelation]->(p:Project) where n.name='昆山市周市基础建设开发有限公司的昆山市恒迪服装辅料公司' RETURN p LIMIT 25")
  60. # print(json.loads(json.dumps(finded.data())))
  61. # print(finded)
  62. import platform
  63. import os
  64. def check_net(testserver):
  65. try:
  66. response = os.system("ping -c 1 " + testserver)
  67. if response == 0:
  68. return True
  69. except:
  70. return False
  71. return False
  72. import platform
  73. print(platform.system())
  74. if platform.system()=="Windows":
  75. OTS_URL = "https://bxkc-ots.cn-hangzhou.ots.aliyuncs.com"
  76. OTS_URL = "https://bxkc-ots.cn-hangzhou.vpc.tablestore.aliyuncs.com"
  77. else:
  78. OTS_URL = "https://bxkc-ots.cn-hangzhou.vpc.tablestore.aliyuncs.com"
  79. check_url = "oss-cn-hangzhou-internal.aliyuncs.com"
  80. is_internal = True
  81. if not check_net(check_url):
  82. is_internal = False
  83. OTS_URL = "https://bxkc-ots.cn-hangzhou.ots.aliyuncs.com"
  84. def getConnect_ots():
  85. # ots_client = tablestore.client.OTSClient(OTS_URL, 'LTAI4FyUT7ZcQFZPjVtw5y9b', '2zscfFTvy3JWavtCeCOthLxF8bDNH3',
  86. # 'bxkc-ots', logger_name = 'table_store.log',
  87. # retry_policy = tablestore.WriteRetryPolicy(),socket_timeout=3000)
  88. ots_client = tablestore.client.OTSClient(OTS_URL, ots_AccessKeyId, ots_AccessKeySecret,
  89. 'bxkc-ots', logger_name = 'table_store.log',
  90. retry_policy = tablestore.WriteRetryPolicy(),socket_timeout=3000)
  91. return ots_client
  92. def getConnect_capacity():
  93. # ots_client = tablestore.client.OTSClient(OTS_URL, 'LTAI4FyUT7ZcQFZPjVtw5y9b', '2zscfFTvy3JWavtCeCOthLxF8bDNH3',
  94. # 'bxkc-ots', logger_name = 'table_store.log',
  95. # retry_policy = tablestore.WriteRetryPolicy(),socket_timeout=3000)
  96. ots_client = tablestore.client.OTSClient(OTS_URL, ots_AccessKeyId, ots_AccessKeySecret,
  97. 'bxkc-capacity', logger_name = 'table_store.log',
  98. retry_policy = tablestore.WriteRetryPolicy(),socket_timeout=3000)
  99. return ots_client
  100. def getConnect_gdb():
  101. from gremlin_python.driver import client
  102. client = client.Client('ws://gds-bp130d7rgd9m7n61150070pub.graphdb.rds.aliyuncs.com:3734/gremlin', 'g', username="bxkc", password="k0n1bxkc!0K^Em%j")
  103. callback = client.submitAsync("g.V('北京赛克德利科贸有限公司').outE('ZhongBiaoRelation').inV().inE('ZhaoBiaoRelation').outV()")
  104. for result in callback.result():
  105. for item in result:
  106. print(item.id)
  107. return client
  108. import oss2
  109. def getAuth():
  110. auth = oss2.Auth(ots_AccessKeyId, ots_AccessKeySecret)
  111. return auth
  112. import os
  113. def check_net(testserver):
  114. try:
  115. response = os.system("ping -c 1 " + testserver)
  116. if response == 0:
  117. return True
  118. except:
  119. return False
  120. return False
  121. if __name__=="__main__":
  122. # solrQuery("document",{"q":"*:*"})
  123. # getConnect_mongodb()
  124. # data = solrQuery_url('http://47.97.221.63:8983/solr/document/select?fq=(publishtime:[2020-01-01T00:00:00Z%20TO%202020-08-12T23:59:59Z])&q=dochtmlcon:"防盗门"')
  125. # data = solrQuery("document",{"q":'dochtmlcon:"防盗门"',"fq":'(publishtime:[2020-01-01T00:00:00Z%20TO%202020-08-12T23:59:59Z])',"fl":"city","rows":1})
  126. # data = make_elasticSearch({"query":{"bool":{"must":[{"wildcard":{"nicknames.keyword":"*服装*"}}],"must_not":[],"should":[]}},"from":0,"size":10,"sort":[],"aggs":{}})
  127. # print(data)
  128. # getConnect_neo4j()
  129. # conn = getConnection_oracle()
  130. # cursor = conn.cursor()
  131. # getConnect_gdb()
  132. es = Elasticsearch(hosts=ES_HOST,http_auth=(ES_USER, ES_PASSWORD))
  133. _q = '''{
  134. "track_total_hits": true,
  135. "size":1,
  136. "query": {
  137. "bool": {
  138. "must":[
  139. {"terms":{"contact_phone_type":[1,2]}},
  140. {"match_phrase":{"city":"深圳"}}
  141. ]
  142. }
  143. }
  144. }'''
  145. print(es)
  146. print(es.info())
  147. # print(es.search(body=_q,index="enterprise"))