Giter Club home page Giter Club logo

common_utils's Introduction

auth_login_tools

封装授权登陆时的一些通用方法

web抓包工具:Firebug+Httpfox相互补充
	1、Firebug适用普通跳转抓包,全局搜索,js断点跟踪,当前页面跳转抓包
	但window.open(url,"_blank");另起开启新的窗口完成跳转时,Firebug的Presist设置会无效,导致跳转页可能会有丢包的情况
	2、Httpfox功能可视化展示及断点捕捉较Firebug稍微弱一些,但是却可以弥补Firebug在新窗口跳转时捕获所有网络交互包
fiddler手机抓包:
    PC局域网地址:192.168.1.82
    1、pc 安装fiddler
    2、fiddler配置(重启生效)
    3、手机设置代理(必须同一局域网内),服务器地址:192.168.1.82, 端口:8888
    4、安装证书,打开Safari,输入http://192.168.1.82:8888,点击"FiddlerRoot certificate"进行证书安装
        (1)不同的fiddler版本证书可能不同,升级fiddler后需要把(”设置“->“通用”->"描述文件")证书删除后重新安装
        (2)ios系统10.3以后,新安装的证书都是不受信任的,需要进行手工设置, 设置方式:设置->通用->关于本机->证书信任设置->  找到 fiddler证书,打开信任开关

针对cookie特殊反爬虫case:
    1、在cookie之中使用随机数作为key,val则为固定值,服务端对变量key进行校验 (hun)

代理模块使用注意点:
     1、判断网站是否在翻页过程中允许切换IP
     2、授权网站的特殊端口限制
     3、网站对单个IP的封禁策略预估
     4、目标网站的特殊代理类型的限制
     5、授权登陆与登陆成功后的代理使用策略的不同
登陆实现方式:
     1、服务端模拟登陆
     2、APP客户端登陆(webview)
     3、APP客户端模拟登陆
     4、web端模拟登陆(可行性待调研)
抓取方式实现:(解析部门均由服务端实现)
     1、服务端登陆、服务端抓取
     2、客户端登陆、服务端抓取
     3、客户端登陆、客户端抓取
     4、客户端模拟登陆、服务端抓取
     5、web端模拟登陆、服务端抓取(待调研)
存储模块:
     所有抓取模块统一调度,作为独立模块拆出
     1、已清洗数据入库前校验及二次处理(加密等)
     2、接口调用前的逻辑整合
     注意点:
          (1)各抓取方向存储模块设计时必须技术评审
          (2)分表、分库以及数据库自动扩展的可行性、合理性
          (3)model层单独对应一个表结构的相关读写逻辑,尽量避免多表操作混到一个model中
          (4)涉及业务逻辑较为复杂时,可以抽离出service层
          (5)controller层尽量不做太复杂的逻辑处理,一个模块尽量合并到一个controller中
          (6)代码层减少硬编码,抽离出统一的校验及处理方法,减少重复工作
数据监控(邮件报警+短信报警):
     0、服务存活监控
     1、登陆比监控(不同抓取通道,自动切换)
     2、抓取完整率监控
     3、解析准确率监控,新模板自动发现(代码层+人工review)
     4、各抓取模块更细颗粒度监控(尝试抓取登陆号码数,成功登陆号码数;提交验证码数,验证成功号码数;开始抓取号码数,抓取成功号码数;号码登陆成功率,号码抓取成功率,开始抓取成功率,整体转化率)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.