setting.py 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. # -*- coding: utf-8 -*-
  2. """爬虫配置文件"""
  3. # import os
  4. # import sys
  5. #
  6. # # MYSQL
  7. # MYSQL_IP = "localhost"
  8. # MYSQL_PORT = 3306
  9. # MYSQL_DB = ""
  10. # MYSQL_USER_NAME = ""
  11. # MYSQL_USER_PASS = ""
  12. #
  13. # # MONGODB
  14. # MONGO_IP = "localhost"
  15. # MONGO_PORT = 27017
  16. # MONGO_DB = ""
  17. # MONGO_USER_NAME = ""
  18. # MONGO_USER_PASS = ""
  19. #
  20. # # REDIS
  21. # # ip:port 多个可写为列表或者逗号隔开 如 ip1:port1,ip2:port2 或 ["ip1:port1", "ip2:port2"]
  22. # REDISDB_IP_PORTS = "localhost:6379"
  23. # REDISDB_USER_PASS = ""
  24. # REDISDB_DB = 0
  25. # # 适用于redis哨兵模式
  26. # REDISDB_SERVICE_NAME = ""
  27. #
  28. # # 数据入库的pipeline,可自定义,默认MysqlPipeline
  29. # ITEM_PIPELINES = [
  30. # "feapder.pipelines.mysql_pipeline.MysqlPipeline",
  31. # # "feapder.pipelines.mongo_pipeline.MongoPipeline",
  32. # ]
  33. # EXPORT_DATA_MAX_FAILED_TIMES = 10 # 导出数据时最大的失败次数,包括保存和更新,超过这个次数报警
  34. # EXPORT_DATA_MAX_RETRY_TIMES = 10 # 导出数据时最大的重试次数,包括保存和更新,超过这个次数则放弃重试
  35. #
  36. # # 爬虫相关
  37. # # COLLECTOR
  38. # COLLECTOR_SLEEP_TIME = 1 # 从任务队列中获取任务到内存队列的间隔
  39. # COLLECTOR_TASK_COUNT = 10 # 每次获取任务数量
  40. #
  41. # # SPIDER
  42. # SPIDER_THREAD_COUNT = 1 # 爬虫并发数
  43. # SPIDER_SLEEP_TIME = 0 # 下载时间间隔 单位秒。 支持随机 如 SPIDER_SLEEP_TIME = [2, 5] 则间隔为 2~5秒之间的随机数,包含2和5
  44. # SPIDER_TASK_COUNT = 1 # 每个parser从内存队列中获取任务的数量
  45. # SPIDER_MAX_RETRY_TIMES = 100 # 每个请求最大重试次数
  46. # KEEP_ALIVE = False # 爬虫是否常驻
  47. #
  48. # # 浏览器渲染
  49. # WEBDRIVER = dict(
  50. # pool_size=1, # 浏览器的数量
  51. # load_images=True, # 是否加载图片
  52. # user_agent=None, # 字符串 或 无参函数,返回值为user_agent
  53. # proxy=None, # xxx.xxx.xxx.xxx:xxxx 或 无参函数,返回值为代理地址
  54. # headless=False, # 是否为无头浏览器
  55. # driver_type="CHROME", # CHROME、PHANTOMJS、FIREFOX
  56. # timeout=30, # 请求超时时间
  57. # window_size=(1024, 800), # 窗口大小
  58. # executable_path=None, # 浏览器路径,默认为默认路径
  59. # render_time=0, # 渲染时长,即打开网页等待指定时间后再获取源码
  60. # custom_argument=["--ignore-certificate-errors"], # 自定义浏览器渲染参数
  61. # )
  62. #
  63. # # 爬虫启动时,重新抓取失败的requests
  64. # RETRY_FAILED_REQUESTS = False
  65. # # 保存失败的request
  66. # SAVE_FAILED_REQUEST = True
  67. # # request防丢机制。(指定的REQUEST_LOST_TIMEOUT时间内request还没做完,会重新下发 重做)
  68. # REQUEST_LOST_TIMEOUT = 600 # 10分钟
  69. # # request网络请求超时时间
  70. # REQUEST_TIMEOUT = 22 # 等待服务器响应的超时时间,浮点数,或(connect timeout, read timeout)元组
  71. #
  72. # # 下载缓存 利用redis缓存,但由于内存大小限制,所以建议仅供开发调试代码时使用,防止每次debug都需要网络请求
  73. # RESPONSE_CACHED_ENABLE = False # 是否启用下载缓存 成本高的数据或容易变需求的数据,建议设置为True
  74. # RESPONSE_CACHED_EXPIRE_TIME = 3600 # 缓存时间 秒
  75. # RESPONSE_CACHED_USED = False # 是否使用缓存 补采数据时可设置为True
  76. #
  77. # # 设置代理
  78. # PROXY_EXTRACT_API = None # 代理提取API ,返回的代理分割符为\r\n
  79. # PROXY_ENABLE = True
  80. #
  81. # # 随机headers
  82. # RANDOM_HEADERS = True
  83. # # UserAgent类型 支持 'chrome', 'opera', 'firefox', 'internetexplorer', 'safari','mobile' 若不指定则随机类型
  84. # USER_AGENT_TYPE = "chrome"
  85. # # 默认使用的浏览器头 RANDOM_HEADERS=True时不生效
  86. # DEFAULT_USERAGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
  87. # # requests 使用session
  88. # USE_SESSION = False
  89. #
  90. # # 去重
  91. # ITEM_FILTER_ENABLE = False # item 去重
  92. # REQUEST_FILTER_ENABLE = False # request 去重
  93. # ITEM_FILTER_SETTING = dict(
  94. # filter_type=1 # 永久去重(BloomFilter) = 1 、内存去重(MemoryFilter) = 2、 临时去重(ExpireFilter)= 3
  95. # )
  96. # REQUEST_FILTER_ENABLE = False # request 去重
  97. # REQUEST_FILTER_SETTING = dict(
  98. # filter_type=3, # 永久去重(BloomFilter) = 1 、内存去重(MemoryFilter) = 2、 临时去重(ExpireFilter)= 3
  99. # expire_time=2592000, # 过期时间1个月
  100. # )
  101. #
  102. # # 报警 支持钉钉、企业微信、邮件
  103. # # 钉钉报警
  104. # DINGDING_WARNING_URL = "" # 钉钉机器人api
  105. # DINGDING_WARNING_PHONE = "" # 报警人 支持列表,可指定多个
  106. # DINGDING_WARNING_ALL = False # 是否提示所有人, 默认为False
  107. # # 邮件报警
  108. # EMAIL_SENDER = "" # 发件人
  109. # EMAIL_PASSWORD = "" # 授权码
  110. # EMAIL_RECEIVER = "" # 收件人 支持列表,可指定多个
  111. # EMAIL_SMTPSERVER = "smtp.163.com" # 邮件服务器 默认为163邮箱
  112. # # 企业微信报警
  113. # WECHAT_WARNING_URL = "" # 企业微信机器人api
  114. # WECHAT_WARNING_PHONE = "" # 报警人 将会在群内@此人, 支持列表,可指定多人
  115. # WECHAT_WARNING_ALL = False # 是否提示所有人, 默认为False
  116. # # 时间间隔
  117. # WARNING_INTERVAL = 3600 # 相同报警的报警时间间隔,防止刷屏; 0表示不去重
  118. # WARNING_LEVEL = "DEBUG" # 报警级别, DEBUG / ERROR
  119. # WARNING_FAILED_COUNT = 1000 # 任务失败数 超过WARNING_FAILED_COUNT则报警
  120. #
  121. # LOG_NAME = os.path.basename(os.getcwd())
  122. # LOG_PATH = "log/%s.log" % LOG_NAME # log存储路径
  123. # LOG_LEVEL = "DEBUG"
  124. # LOG_COLOR = True # 是否带有颜色
  125. # LOG_IS_WRITE_TO_CONSOLE = True # 是否打印到控制台
  126. # LOG_IS_WRITE_TO_FILE = False # 是否写文件
  127. # LOG_MODE = "w" # 写文件的模式
  128. # LOG_MAX_BYTES = 10 * 1024 * 1024 # 每个日志文件的最大字节数
  129. # LOG_BACKUP_COUNT = 20 # 日志文件保留数量
  130. # LOG_ENCODING = "utf8" # 日志文件编码
  131. # OTHERS_LOG_LEVAL = "ERROR" # 第三方库的log等级
  132. #
  133. # # 切换工作路径为当前项目路径
  134. # project_path = os.path.abspath(os.path.dirname(__file__))
  135. # os.chdir(project_path) # 切换工作路经
  136. # sys.path.insert(0, project_path)
  137. # print('当前工作路径为 ' + os.getcwd())