setting.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # -*- coding: utf-8 -*-
  2. """爬虫配置文件"""
  3. import os
  4. # MONGODB
  5. MONGO_IP = "172.17.4.87"
  6. MONGO_PORT = 27080
  7. MONGO_DB = "py_spider"
  8. MONGO_USER_NAME = ""
  9. MONGO_USER_PASS = ""
  10. # REDIS
  11. # ip:port 多个可写为列表或者逗号隔开 如 ip1:port1,ip2:port2 或 ["ip1:port1", "ip2:port2"]
  12. REDISDB_IP_PORTS = "172.17.4.232:7361"
  13. REDISDB_USER_PASS = "k5ZJR5KV4q7DRZ92DQ"
  14. REDISDB_DB = 2
  15. # # 适用于redis哨兵模式
  16. REDISDB_SERVICE_NAME = "quchoong"
  17. # 数据入库的pipeline,可自定义,默认MysqlPipeline
  18. ITEM_PIPELINES = [
  19. "feapder.pipelines.swordfish.mongo_pipeline.MongoPipeline",
  20. ]
  21. EXPORT_DATA_MAX_FAILED_TIMES = 5 # 导出数据时最大的失败次数,包括保存和更新,超过这个次数报警
  22. EXPORT_DATA_MAX_RETRY_TIMES = 5 # 导出数据时最大的重试次数,包括保存和更新,超过这个次数则放弃重试
  23. REDIS_KEY = "fwork"
  24. # SPIDER
  25. SPIDER_MAX_RETRY_TIMES = 5 # 每个请求最大重试次数
  26. REQUEST_TIMEOUT = 10
  27. # 浏览器渲染
  28. WEBDRIVER = dict(
  29. pool_size=1, # 浏览器的数量
  30. command_executor="http://172.17.4.232:6666/wd/hub", # selenium 远程服务地址
  31. # command_executor="http://192.168.20.248:4444/wd/hub", # selenium 远程服务地址
  32. load_images=True, # 是否加载图片
  33. user_agent=None, # 字符串 或 无参函数,返回值为user_agent
  34. proxy=None, # xxx.xxx.xx.xxx:xxxx 或 无参函数,返回值为代理地址
  35. timeout=30, # 请求超时时间
  36. driver_type="FIREFOX", # CHROME、FIREFOX、EDGE
  37. window_size=(1280, 800), # 窗口大小
  38. render_time=5, # 渲染时长,即打开网页等待指定时间后再获取源码
  39. custom_argument=["--ignore-certificate-errors"], # 自定义浏览器渲染参数
  40. )
  41. # 设置代理
  42. PROXY_EXTRACT_API = "http://proxy.spdata.jianyu360.com/proxy/getallip" # 代理提取API ,返回的代理分割符为\r\n
  43. PROXY_ENABLE = True
  44. # 企业微信报警
  45. WECHAT_WARNING_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=-4e26-a563-cd6b07b9db14" # 企业微信机器人api
  46. WECHAT_WARNING_PHONE = "swordFish" # 报警人 将会在群内@此人, 支持列表,可指定多人
  47. WECHAT_WARNING_ALL = True # 是否提示所有人, 默认为False
  48. # 时间间隔
  49. WARNING_INTERVAL = 360 # 相同报警的报警时间间隔,防止刷屏; 0表示不去重
  50. WARNING_LEVEL = "ERROR" # 报警级别, DEBUG / ERROR
  51. WARNING_FAILED_COUNT = 2 # 任务失败数 超过WARNING_FAILED_COUNT则报警
  52. LOG_NAME = os.path.basename(os.getcwd())
  53. LOG_PATH = "logs/%s.log" %(LOG_NAME) # log存储路径
  54. LOG_LEVEL = "INFO"
  55. LOG_COLOR = True # 是否带有颜色
  56. LOG_IS_WRITE_TO_CONSOLE = False # 是否打印到控制台
  57. LOG_IS_WRITE_TO_FILE = True # 是否写文件
  58. LOG_IS_SEND_TO_LOGSTASH = True
  59. LOG_MODE = "w" # 写文件的模式
  60. LOG_MAX_BYTES = 10 * 1024 * 1024 # 每个日志文件的最大字节数
  61. LOG_BACKUP_COUNT = 20 # 日志文件保留数量
  62. LOG_ENCODING = "utf8" # 日志文件编码
  63. OTHERS_LOG_LEVAL = "ERROR" # 第三方库的log等级
  64. author = {}
  65. JIANYU_PROXY_URL = 'http://cc.spdata.jianyu360.com/crawl/proxy/socks5/fetch'
  66. JIANYU_PROXY_AUTHOR = 'Basic amlhbnl1MDAxOjEyM3F3ZSFB'
  67. JIANYU_SPLASH_URL = "http://59.110.6.43:8998/render.json"