setting.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # -*- coding: utf-8 -*-
  2. """爬虫配置文件"""
  3. import os
  4. import sys
  5. # MONGODB
  6. MONGO_IP = "172.17.4.87"
  7. MONGO_PORT = 27080
  8. MONGO_DB = "py_spider"
  9. # REDIS
  10. # ip:port 多个可写为列表或者逗号隔开 如 ip1:port1,ip2:port2 或 ["ip1:port1", "ip2:port2"]
  11. REDISDB_IP_PORTS = "172.17.162.28:7361"
  12. REDISDB_USER_PASS = "k5ZJR5KV4q7DRZ92DQ"
  13. REDISDB_DB = 2
  14. # 数据入库的pipeline,可自定义,默认MongoPipeline
  15. ITEM_PIPELINES = [
  16. "feapder.pipelines.mongo_pipeline.MongoPipeline",
  17. ]
  18. EXPORT_DATA_MAX_FAILED_TIMES = 5 # 导出数据时最大的失败次数,包括保存和更新,超过这个次数报警
  19. EXPORT_DATA_MAX_RETRY_TIMES = 5 # 导出数据时最大的重试次数,包括保存和更新,超过这个次数则放弃重试
  20. # SPIDER
  21. SPIDER_MAX_RETRY_TIMES = 5 # 每个请求最大重试次数
  22. REQUEST_TIMEOUT = 10
  23. # 浏览器渲染
  24. WEBDRIVER = dict(
  25. server_addr="http://172.17.162.28:6666/wd/hub", # selenium 远程服务地址
  26. version="", # 浏览器版本。不指定版本时,随机分发,版本详见群公告
  27. pool_size=1, # 浏览器的数量
  28. load_images=False, # 是否加载图片
  29. user_agent=None, # 字符串 或 无参函数,返回值为user_agent
  30. headless=True, # 是否为无头浏览器
  31. usages_local_driver=True, # 是否使用本地驱动,默认启动本地驱动
  32. proxy=None, # xxx.xxx.xx.xxx:xxxx 或 无参函数,返回值为代理地址
  33. driver_type="FIREFOX", # CHROME、FIREFOX
  34. timeout=30, # 请求超时时间
  35. executable_path=None, # 浏览器路径,默认为默认路径
  36. window_size=(1280, 800), # 窗口大小
  37. render_time=0, # 渲染时长,即打开网页等待指定时间后再获取源码
  38. custom_argument=["--ignore-certificate-errors"], # 自定义浏览器渲染参数
  39. service_log_path=os.devnull # 日志路径,默认置空
  40. )
  41. ITEM_FILTER_ENABLE = True # item 去重
  42. ITEM_FILTER_SETTING = dict(
  43. filter_type=5, # redis去重
  44. expire_time=2592000, # 过期时间1个月
  45. redis_url='redis://default:k5ZJR5KV4q7DRZ92DQ@172.17.162.34:8361/0'
  46. )
  47. # 设置代理
  48. PROXY_EXTRACT_API = "http://proxy.spdata.jianyu360.com/proxy/getallip" # 代理提取API ,返回的代理分割符为\r\n
  49. PROXY_ENABLE = True
  50. LOG_NAME = os.path.split(sys.argv[0])[-1].split(".")[0]
  51. LOG_PATH = "logs/%s.log" %(LOG_NAME) # log存储路径
  52. LOG_LEVEL = "INFO"
  53. LOG_COLOR = True # 是否带有颜色
  54. LOG_IS_WRITE_TO_CONSOLE = True # 是否打印到控制台
  55. LOG_IS_WRITE_TO_FILE = True # 是否写文件
  56. LOG_MODE = "a" # 写文件的模式
  57. LOG_MAX_BYTES = 10 * 1024 * 1024 # 每个日志文件的最大字节数
  58. LOG_BACKUP_COUNT = 2 # 日志文件保留数量
  59. LOG_ENCODING = "utf8" # 日志文件编码
  60. OTHERS_LOG_LEVAL = "ERROR" # 第三方库的log等级
  61. JIANYU_PROXY_URL = 'http://cc.spdata.jianyu360.com/crawl/proxy/socks5/fetch'
  62. JIANYU_PROXY_AUTHOR = 'Basic amlhbnl1MDAxOjEyM3F3ZSFB'
  63. JIANYU_SPLASH_URL = "http://splash.spdata.jianyu360.com/render.json"