strategy.py 576 B

12345678910111213141516171819202122232425262728
  1. from abc import ABC, abstractmethod
  2. from typing import List
  3. # 策略
  4. class Strategy(ABC):
  5. @abstractmethod
  6. def crawl(self, data: List):
  7. pass
  8. # TODO 不同平台 不同策略
  9. class XiaoniangaoHomePageStrategy(Strategy):
  10. def crawl(self, data: List) -> List:
  11. # 具体逻辑
  12. return data
  13. class XiguaHomePageStrategy(Strategy):
  14. def crawl(self, data: List) -> List:
  15. # 具体逻辑
  16. return data
  17. class ShipinhaoHomePageStrategy(Strategy):
  18. def crawl(self, data: List) -> List:
  19. # 具体逻辑
  20. return data