老套路-讀前瞎侃
是怎麼一個前生來世呢? 前段時間做一個搶購軟件 ,然後效果很差。 基於 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