spiderSchedule.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """
  2. @author: luojunhui
  3. """
  4. import time
  5. from applications.search import *
  6. class SearchMethod(object):
  7. """
  8. 搜索召回模式
  9. """
  10. s_words = []
  11. @classmethod
  12. async def search_v1(cls, text, trace_id):
  13. """
  14. dy ---> baidu ---> xigua
  15. :param text:
  16. :param trace_id:
  17. :return:
  18. """
  19. douyin_result = douyin_search(keyword=text, sensitive_words=cls.s_words, trace_id=trace_id)
  20. if douyin_result:
  21. return {"platform": "dy_search", "result": douyin_result[0]}
  22. else:
  23. time.sleep(1)
  24. baidu_result = hksp_search(key=text, sensitive_words=cls.s_words, trace_id=trace_id)
  25. if baidu_result:
  26. return {"platform": "baidu_search", "result": baidu_result[0]}
  27. else:
  28. xigua_result = xigua_search_v2(keyword=text, sensitive_words=cls.s_words)
  29. if xigua_result:
  30. return {"platform": "xg_search", "result": xigua_result[0]}
  31. else:
  32. return None
  33. @classmethod
  34. async def search_v2(cls, text, trace_id):
  35. """
  36. dy ---> baidu ---> xigua
  37. :param trace_id:
  38. :param text:
  39. :return:
  40. """
  41. L = []
  42. douyin_result = douyin_search(keyword=text, sensitive_words=cls.s_words, trace_id=trace_id)
  43. for vid_obj in douyin_result:
  44. L.append({"platform": "dy_search", "result": vid_obj})
  45. if len(L) >= 3:
  46. return L
  47. else:
  48. baidu_result = hksp_search(key=text, sensitive_words=cls.s_words, trace_id=trace_id)
  49. if baidu_result:
  50. L.append({"platform": "baidu_search", "result": baidu_result[0]})
  51. xigua_result = xigua_search_v2(keyword=text, sensitive_words=cls.s_words)
  52. if xigua_result:
  53. L.append({"platform": "xg_search", "result": xigua_result[0]})
  54. return L