spiderSchedule.py 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. else:
  46. baidu_result = hksp_search(key=text, sensitive_words=cls.s_words, trace_id=trace_id)
  47. if baidu_result:
  48. for baidu_obj in baidu_result:
  49. L.append({"platform": "baidu_search", "result": baidu_obj})
  50. # xigua_result = xigua_search_v2(keyword=text, sensitive_words=cls.s_words)
  51. # if xigua_result:
  52. # L.append({"platform": "xg_search", "result": xigua_result[0]})
  53. return L