__init__.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import random
  2. # 数据收集模块
  3. class DataCollector:
  4. def __init__(self):
  5. self.data = []
  6. def collect(self):
  7. # 定义三个流程及其名称
  8. processes = {
  9. '申请流程': ['浏览-产品介绍页', '点击-立即申请', '浏览-公积金授权页', '浏览-额度申请结果'],
  10. '提额流程': ['点击-立即提额', '浏览-提额方式选择页', '点击-线上公积金认证', '浏览-提额申请结果'],
  11. '支用流程': ['点击-立即支用', '填写-借款申请页', '浏览-确认借款页', '浏览-支用结果页', '结果-支用成功']
  12. }
  13. users = ['User{}'.format(i) for i in range(1, 21)]
  14. for user in users:
  15. # 随机选择一个流程
  16. process_name, process_steps = random.choice(list(processes.items()))
  17. # 确保生成一个完整的行为序列
  18. start_index = 0
  19. end_index = random.randint(start_index, len(process_steps) - 1)
  20. actions = process_steps[start_index:end_index + 1]
  21. user_actions = {
  22. 'user': user,
  23. 'process': process_name,
  24. 'actions': actions,
  25. 'product': random.choice(['渝快贷', '渝悦贷', '房快贷']),
  26. 'channel': random.choice(['手机银行', '微银行'])
  27. }
  28. self.data.append(user_actions)
  29. return self.data
  30. # 主函数,用于测试数据收集模块
  31. def main():
  32. collector = DataCollector()
  33. data = collector.collect()
  34. for user_actions in data:
  35. print(f"User: {user_actions['user']}, Process: {user_actions['process']}, Product: {user_actions['product']}, Channel: {user_actions['channel']}")
  36. print("Actions Sequence:")
  37. for action in user_actions['actions']:
  38. print(f" - {action}")
  39. print("") # 添加空行以分隔不同用户的行为序列
  40. if __name__ == "__main__":
  41. main()