登录DIV定位

首先通过知乎LOGO定位到登录DIV所在父DIV为class(SignFlowHomepage-content),登录DIV为class(css-zvnmar)的DIV和知乎LOGO的img标签并列。

爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录


爬虫实战(一)-新版知乎网页分析获取登录url_知乎_02


登录DIV中包含form标签,该form标签包含了从免密码登录到未注册手机验证后自动登录的div。我们后续需要定位到密码登录,使用密码登录而不用短信验证码登录。

爬虫实战(一)-新版知乎网页分析获取登录url_手机验证_03


密码登录Div和免密码登录的DIV是并列的,从代码中可以看出免密码登录DIV比密码登录DIV多了一个SignFlow-tab–activeclass。切换过后SignFlow-tab–activeclass会到密码登录DIV上。

爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_04


爬虫实战(一)-新版知乎网页分析获取登录url_手机验证_05


下面的SignFlow-account指示的是手机号或邮箱DIV,SignFlow-password指示的是密码DIV,类型为submit的button就是登录按钮。其包含的class有Button、SignFlow-submitButton、Button–primary、Button–blue。

爬虫实战(一)-新版知乎网页分析获取登录url_知乎_06

js文件加载

init.js由signin?next=%2F:13发起获取

爬虫实战(一)-新版知乎网页分析获取登录url_知乎_07


如下js都是由signin?next=%2F发起获取

爬虫实战(一)-新版知乎网页分析获取登录url_手机验证_08


爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_09


v2?type=captcha_sign_in由init.js发起获取

爬虫实战(一)-新版知乎网页分析获取登录url_手机验证_10


爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_11


爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_12


爬虫实战(一)-新版知乎网页分析获取登录url_知乎_13


爬虫实战(一)-新版知乎网页分析获取登录url_手机验证_14


爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_15


爬虫实战(一)-新版知乎网页分析获取登录url_手机验证_16


爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_17


爬虫实战(一)-新版知乎网页分析获取登录url_免密码登录_18


爬虫实战(一)-新版知乎网页分析获取登录url_知乎_19