老套路-读前瞎侃
是怎么一个前生来世呢? 前段时间做一个抢购软件 ,然后效果很差。 基于 selenium,同一逻辑做了三份(python版本, C# form, window控制台版本)。 主要问题是抢购的时候selenium响应太慢,。 于是禁用了一些网页样式,加载图片等等, 是变快了,不加载图片只能密码登录,验证的滑动滑块页就 skr。 主要原因还是不熟悉网页,恰好又遇到一个万年难遇的双周,研究下浏览器插件.
第一个插件
先来拿百度当小白鼠,直接上效果:
- 这是啥? ,
百度的图标被换成?图了,对,就是这么简单的
代码
- manifest.json
{
//描述可选
"description": "Demonstrating webRequests",
//这三个必须的
"manifest_version": 2,
"name": "webRequest-demo",
"version": "1.0",
//权限
"permissions": [
"webRequest",
"webRequestBlocking",
"https://www.baidu.com/*"
],
//后台脚本,加载后会运行,除非禁用
"background": {
"scripts": ["background.js"]
}
}
- background.js
var pattern = "https://www.baidu.com/*";
var myUrl = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1559390646280&di=b690eb154aec01c74fcfe4f0d689dbe9&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20181203%2F32b39d8647304af6b3eb6d78c740ea4a.gif"
//2.
//requestDetails 传进来的是满足条件的request
function redirect(requestDetails) {
//输出调试控制台,浏览器 按F12
console.log("Redirecting: " + requestDetails.url);
return {
//满足条件的 url 重定向为myUrl ,也就是替换了
redirectUrl: myUrl
};
}
//1.
//这个脚本执行的一句注册回调
//匹配网址 pattern,类型image, 传进回调redirect方法
chrome.webRequest.onBeforeRequest.addListener(
redirect,
{urls:[pattern], types:["image"]},
["blocking"]
);
OVER
时候不早了,吃饭睡觉打豆豆。
- 淘宝抢购源码需要的留言联系我,
- 这篇有bug的地方欢迎指出修正
- 有兴趣一起学习的小伙伴 @我, 一起交流学习
- 其他各式各样的技术问题也可留言
- 谢谢阅读
[1] https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions
[2] https://developer.mozilla.org/zh-CN/docs/Mozilla/Add-ons/WebExtensions/Getting_started_with_web-ext