config.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. # ============================================================
  2. # Crawler 统一配置 (8083 生产环境)
  3. # 每个部署目录持有自己的 config.py,其余代码完全共用
  4. # ============================================================
  5. # ============================================================
  6. # 一、调度 / 上报服务
  7. # ============================================================
  8. # 调度 API 基地址(心跳 / 拉取任务 / 上报共用)
  9. SCHEDULE_API_BASE = "https://pricesys.kailin.com.cn:8082"
  10. # 调度 API 超时(秒)
  11. SCHEDULE_HEARTBEAT_TIMEOUT = 10
  12. SCHEDULE_PULL_TIMEOUT = 10
  13. SCHEDULE_REPORT_TIMEOUT = 5
  14. # 心跳间隔(秒)
  15. SCHEDULE_HEARTBEAT_INTERVAL = 30
  16. # 爬虫认证 Token
  17. CRAWLER_TOKEN = "zhijiayun_crawler_2026"
  18. # 旧版上报(start_run_*.py 中的 get_status / heartbeat_task)
  19. LEGACY_REPORT_URL = "http://scheduleapi.findit.ltd/api/collect_equipment_execute/result_report"
  20. LEGACY_HEARTBEAT_URL = "https://scheduleapi.findit.ltd/api/collect_equipment_execute/heartbeat"
  21. # ============================================================
  22. # 二、数据库
  23. # ============================================================
  24. MYSQL_HOST = "120.24.26.108"
  25. MYSQL_PORT = 3307
  26. MYSQL_USER = "root"
  27. MYSQL_PASSWORD = "zhijiayun123456"
  28. MYSQL_DATABASE = "drug_retrieve_test"
  29. MYSQL_POOL_MAXCONNECTIONS = 10
  30. MYSQL_POOL_MIN_CACHED = 2
  31. MYSQL_POOL_MAX_CACHED = 5
  32. # ============================================================
  33. # 三、第三方凭证
  34. # ============================================================
  35. # 阿里云 OSS
  36. OSS_ACCESS_KEY_ID = "LTAI5t5pWgfa1BMztEuWBjdK"
  37. OSS_ACCESS_KEY_SECRET = "wU7FLzEr1NqLg2rJrmAu7Ibn69np0u"
  38. OSS_ENDPOINT = "oss-cn-shenzhen.aliyuncs.com"
  39. OSS_BUCKET_NAME = "zhijiayun-jiansuo"
  40. # 飞书 Webhook
  41. FEISHU_WEBHOOK_URL = "https://open.feishu.cn/open-apis/bot/v2/hook/f8a70e6b-6b75-43c2-aaf2-9ba8f79f40f6"
  42. # 云码打码(京东滑块验证码)
  43. CAPTCHA_API_URL = "http://api.jfbym.com/api/YmServer/customApi"
  44. CAPTCHA_TOKEN = "1nDVocTE2mJ0yLEYb2sZJ5uUY2VIEoGTkIpW44X7Kgk"
  45. CAPTCHA_SCREENSHOT_PATH = "./element_screenshot.png"
  46. # ============================================================
  47. # 四、平台 / 设备
  48. # ============================================================
  49. # 设备 ID
  50. JD_DEVICE_ID = 3
  51. TB_DEVICE_ID = 17
  52. # 平台 ID
  53. PLATFORM_ID_JD = 2
  54. PLATFORM_ID_TAOBAO = 1
  55. PLATFORM_ID_YAOFANGWANG = 11
  56. # 药房网设备名(用作 scheduler username)
  57. YAOFANGWANG_DEVICE_NAME = "青羊新洋诊所"
  58. # 账号兜底 ID(任务中缺 account_id 时的回退值)
  59. JD_DEFAULT_ACCOUNT_ID = "15"
  60. TAOBAO_DEFAULT_ACCOUNT_ID = "17" # taobao_crawl.py
  61. TAOBAO_SNAP_DEFAULT_ACCOUNT_ID = "101" # snapshot_taobao_crawl2.py
  62. # 药师帮账号
  63. YSB_ACCOUNT = {
  64. "username": "13484423007",
  65. "password": "ljm123456"
  66. }
  67. # 壹药城账号
  68. YYC_ACCOUNT = {
  69. "username": "18193030281",
  70. "password": "a666666",
  71. "token": "Sm45MzRmREtiaThGc1gvLzZaVnRFWXFjTlg4bVBZaytxZXoyRjR5OXB1NmFJMk84VDhadzI4NUdNUmhFZjFtZCszSnFGV1JUdThVTWtwUi9SVG9jUk01T0JNZ1RyUVZCNUsyNms0Z0F3OUhRc3JKRzZ1S0dFOWNLUVAwNFdweWRtaDkyS25iOUVwU3dnUC9FcVpnZWdSbS9QQm1qSHhsOS84RHlOc1czUWgxRTZkSEh4d2NUOCtkNzA1dTlLWjkzP2FwcElkPTEyNTAma2V5SWQ9MTI1MA==",
  72. "user_id": 387715
  73. }
  74. # ============================================================
  75. # 五、本地环境
  76. # ============================================================
  77. CHROME_PATH = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
  78. ACCOUNT_CACHE_DIR = "./account_cache"
  79. LOG_DIR = "logs"
  80. # ============================================================
  81. # 六、阈值 / 限量
  82. # ============================================================
  83. # 连续不匹配阈值
  84. JD_NO_MATCH_THRESHOLD = 20
  85. TAOBAO_NO_MATCH_THRESHOLD = 100
  86. # 淘宝搜索最大页数
  87. TAOBAO_SEARCH_MAX_PAGE = 20 # taobao_crawl.py
  88. TAOBAO_SNAP_SEARCH_MAX_PAGE = 100 # snapshot_taobao_crawl2.py
  89. # 淘宝请求
  90. TAOBAO_REQUEST_RETRY_COUNT = 3
  91. TAOBAO_COOKIE_MAX_AGE_SEC = 3600
  92. # 淘宝 MTOP
  93. MTOP_APP_KEY = "12574478"
  94. MTOP_APP_ID = "34385"
  95. # 淘宝快照监听重试
  96. TAOBAO_SNAP_LISTEN_RETRY = 15
  97. # 京东页面采集
  98. JD_COLLECT_MAX_STEPS = 10
  99. # 药房网
  100. YAOFANGWANG_DETAIL_MAX_PAGES = 100
  101. # ============================================================
  102. # 七、User-Agent
  103. # ============================================================
  104. UA_JD = (
  105. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
  106. "AppleWebKit/537.36 (KHTML, like Gecko) "
  107. "Chrome/131.0.0.0 Safari/537.36"
  108. )
  109. UA_TAOBAO = (
  110. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
  111. "AppleWebKit/537.36 (KHTML, like Gecko) "
  112. "Chrome/142.0.0.0 Safari/537.36"
  113. )
  114. UA_YAOFANGWANG = (
  115. "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
  116. "AppleWebKit/537.36 (KHTML, like Gecko) "
  117. "Chrome/124.0.0.0 Safari/537.36"
  118. )