网址:http://match.yuanrenxue.com/match/14
1.加密参数分析
进行翻页请求抓包
似乎是先访问http://match.yuanrenxue.com/api/match/14/m该链接,返回一段js混淆的代码,生成cookie后再访问列表页获取结果,然而我们不必理会其具体过程,直接进入到下一步分析。
2.更改js代码,并替换响应为本地文件
点击下图红框跳入
下面我们对上述图片红框内代码进行修改,并保存到本地,后用fidder替换http://match.yuanrenxue.com/match/14这个响应,不会替换的可以参考fiddler响应替换方法
$('.page-message').click(function(){
window.page = 4;
request();
$('.page-message').removeClass('active');
$(this).addClass('active');
});
直接请求第四页,意味着不管点击第一页、第二页、还是第三页都会直接请求第四页
触发风控!!!
3.风控原因分析
我们直接点击第四页、第五页都会出现这样的提示,大胆猜测是否因为user-agent未替换成yuanrenxue.project而导致
4.自定义chrome浏览器user-agent
可能有人想用js更改属性,例如
第一种方法:
window.navigator.userAgent = "yuanrenxue.project";
第二种方法
var userAgent = "yuanrenxue.project";
Object.defineProperty(navigator, 'userAgent', {
value: userAgent,
writable: true
});
事实证明:上述两种方法均不可行,发送请求时userAgent并未改变
下面再次祭出神器:selenium!
# -*- coding:utf-8 -*-
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_experimental_option("excludeSwitches", ["enable-automation"])
option.add_experimental_option('useAutomationExtension', False)
option.add_argument("--user-agent=yuanrenxue.project") # 替换UA
driver = webdriver.Chrome(executable_path='chromedriver', chrome_options=option)
driver.maximize_window()
driver.get("http://match.yuanrenxue.com/match/14")
input()
driver.close()
然后随便点击第一页、第二页、第三页,都会重定向第四页
第四页结果成功拿到,同理第五页