1
0

main.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import rpyc
  2. import time
  3. from fastapi import FastAPI
  4. import sys
  5. import os
  6. import dataset
  7. import datetime
  8. import json
  9. import ast
  10. from fastapi.responses import JSONResponse
  11. from fastapi.middleware.cors import CORSMiddleware
  12. db = dataset.connect('sqlite:///similar.db')
  13. app = FastAPI()
  14. origins = [
  15. "http://www.googo.org",
  16. "http://www.googo.org:8080",
  17. "http://googo.org:8080",
  18. "http://googo.org",
  19. "http://139.162.121.30"
  20. ]
  21. app.add_middleware(
  22. CORSMiddleware,
  23. allow_origins=origins,
  24. allow_credentials=True,
  25. allow_methods=["*"],
  26. allow_headers=["*"],
  27. )
  28. @app.get("/query/{qq}")
  29. async def query(qq):
  30. print(qq)
  31. return JSONResponse(content={'query':qq})
  32. @app.get("/domain/{domain_name}")
  33. async def read_item(domain_name):
  34. cursor=db.query('select domain_name,json,dt from similar where domain_name="'+domain_name+'"')
  35. for c in cursor:
  36. print(c['json'])
  37. print(c['dt'])
  38. # jsdict=ast.literal_eval(c['json'])
  39. jsdict=json.loads(c['json'])
  40. return JSONResponse(content=jsdict)
  41. print(domain_name)
  42. # conn = rpyc.connect("localhost",12345)
  43. conn = rpyc.connect("192.168.192.119",12345)
  44. #domain_name
  45. jsdata=conn.root.get_url('https://data.similarweb.com/api/v1/data?domain='+domain_name)
  46. print(jsdata)
  47. # jsdict=str(jsdata)[1:-1]
  48. # jsdict=json.loads(str(jsdata))
  49. jsdict=ast.literal_eval(str(jsdata))
  50. # jsdict=str(jsdata)
  51. table=db['similar']
  52. jstr=json.dumps(jsdict)
  53. table.insert({'domain_name':domain_name,'json':jstr,'dt':datetime.datetime.now()})
  54. db.commit()
  55. return JSONResponse(content=jsdict)
  56. # print(jsdata)
  57. # return {"item_id": domain_name}