browser launcher

current version: 1.6.8

--------------------------------------------------------------------------------

1.6 | 2019-11-08
    - 优化 LKBrowser 初始化过程
    - launch_browser(), cook_cookies() 转为内部方法
    - 创建通用性更强的 _analyse_plain_form()
    - 新增 get_header(), set_header() 方法
    - _check_status_code() 完善 E1512 报错信息
    - 修复无法检测到重定向的问题
    - download_text_page() 重命名为 save_page()
    - post() 支持 request-payload 编码形式
    - save_page() 新增 jump_exists 参数
    - 增加 be_server_friendly() 的详细表述
    - 优化 _check_status_code()
1.5 | 2019-09-24
    - 模块重命名 browser_launcher -> lk_browser
    - download() 移除对目标文件是否存在的检测
    - random_sleep 重命名为 sleepy
    - 将状态码注册为属性
    - 将重定向注册为属性
    - 优化 check_status_code() 方法及反馈信息
    - 从 download() 分离出 download_text_page() 方法
    - 优化 download_text_page() 针对 gbk 的编码预测
    - 优化 download_text_page() 对 source_encoding 的判断
    - download_text_page() 优化传参
    - download_text_page() 允许强制指定 source 和 target 的编码
    - 优化 be_server_friendly() 传参
1.4 | 2019-05-14
    - 删除 launch_splinter_browser() 方法
    - check_status_code() 调整逻辑
    - launch_requests_browser() 更新 headers 默认配置
    - set_server_friendly() 重命名为 be_server_friendly()
    - LKBrowser 类变量 browser 重命名为 session
    - check_status_code() 优化 400 错误的反馈信息
    - sleepy() 重命名为 doze()
    - update_cookies() 重命名为 set_cookies()
    - 增加 get_cookies() 方法
    - 优化 set_cookies() 方法
    - postfile() 方法恢复为 self.session 提交
    - 补充 postfile() 方法示例
    - download() 增加 enforce_utf8 参数
1.3 |
    - 创建 check_status_code() 方法
    - 调整对服务器友好的策略
1.2 |
    - 使用 class 重构 LKBrowser
    - 将 import 语句放到了相应的函数中调用
    - 增加 post() 方法
    - get() 方法增加 params 参数
    - get() 方法增加 is_raise_error 参数
    - 更新状态码的 is_raise_error 的触发逻辑
    - 引入 lk_logger
    - get() 方法增加 want_return 参数
    - download() 返回 output 路径
    - LKBrowser 增加一个 lazy_mode 成员
    - 增加 postfile() 方法
    - 更新 postfile() 方法细节
    - 增加函数返回类型 (-> requests.Response) 的标识
    - 简化 get() 方法, 取消 want_return 参数
1.1 |
    - 增加了 cook_cookies() 方法
