Skip to content

Latest commit

 

History

History
124 lines (115 loc) · 3.88 KB

配置详解.md

File metadata and controls

124 lines (115 loc) · 3.88 KB

配置模板解读

请求部分

{
  "type": "",
  "url": "",
  "method": "",
  "iteration_times": 1,
  "meta": {
      "proxy": "",
      "dont_redirect": False,
      "redirect_ttl": 5,
  },
  "headers": {},
  "query_params": {},
  "json_params": {},
  "form_params": {},
  "browser_config": {},
  "dont_filter": True,
  "extra_params": {},
}
  • type: 请求方式
    • api: 发送请求的方式获取响应
    • browser: 浏览器访问界面的方式获取请求
  • url: 请求链接
  • method: 请求方法
    • get/GET: get请求
    • post/POST: post请求
    • ==其他暂不支持==
  • iteration_times: 请求生成个数(此参数会影响,如url或其他参数中的可填充内容,因此生成不同请求)
    • 默认为 1
  • meta: 请求中需要携带的参数
    • proxy: 代理 (代理设置在universal_spider/Info/proxy.py中)
      • short: 短效代理
      • dynamic: 动态代理
      • fixed: 固定代理
      • 其他链接: 自定义代理
    • dont_redirect: 是否允许重定向
      • True: 允许
      • False: 不允许
    • redirect_ttl: 重定向最大次数
  • headers: 请求头
  • query_params: get请求参数
  • json_params: post请求参数 (json格式)
  • form_params: post请求参数 (form格式)
  • dont_filter: 是否去重
    • True: 不去重
    • False: 去重
    • 默认为 True
  • extra_params: 额外配置
    • 暂定

响应部分

{
  "type": "",
  "before_parse": [],
  "fields": [],
  "save_fields": [],
  "extra_params": {},
},
  • type: 响应类型
    • json: json格式
    • html: html格式
    • browser: 浏览器访问界面获取响应
  • before_parse: 解析前需要执行的函数列表 ==暂不适用==
  • fields: 解析字段列表 模板
  • save_fields: 保存字段列表
  • extra_params: 额外配置
    • 暂定

解析字段模板

{
  "name": "",
  "value": "",
  "type": "",
  "default": "",
  "befor_process": [
      {"name": "", "args": ""},
  ],
  "after_process": [
      {"name": "", "args": ""},
  ],
  "save_length": 0,
  "save_method": "", 
}
  • name: 字段名称
  • value: 字段值,其中可变值使用{}包裹,
    • {jsonpath:path}: jsonpath解析
    • {xpath://table}: xpath解析
    • {css:ul>li}: css Selector解析
    • {regex:[0-9]+}: 正则解析
    • {var:var_name}: 变量解析 从当前阶段饿上一个阶段的解析结果中获取
    • {function:function_name(args)}: 函数解析
      • add(start, step=1): 该函数生成start开始的递增数字,步长step默认为1
      • now_timestamp(): 该函数生成当前时间戳
      • 其他暂定
  • type: 字段类型 ==暂无作用==
  • default: 默认值,默认为空
  • befor_process: 字段解析前,顺序执行的前处理方法 ==暂不适用==
  • after_process: 字段解析后,顺序执行的后处理方法 参数以,分隔
    • str_remove_by_regex: 通过正则表达式移除字符串,value为正则表达式
    • str_replace_by_regex: 通过正则表达式替换字符串,value为正则表达式和替换后的值
    • str_extract_by_regex: 通过正则表达式提取字符串,value为正则表达式
    • html_removetag_by_xpath: 通过xpath移除html标签,value为xpath
    • html_removestyle_by_xpath: 通过xpath移除html标签的style属性,value为xpath
    • html_replacetag_by_xpath: 通过xpath替换html标签,value为xpath和替换后的标签
    • format_value: 格式化字符串,value为格式化字符串
  • save_length: 字段长度,默认为0,表示不限制 (1表示所有匹配生成的列表合并,其余值均不合法)
  • save_method: 字段解析后,保存的方法
    • replace: 存在同名字段时,默认替换原本的同名字段
    • append: 追加到原本的同名字段
    • add: 不存在同名字段时,默认新增字段