直接用JavaScript代碼批量處理瀏覽器全部頁面,批量向每個(gè)頁面注入JS腳本甚至JQuery腳本,支持批量保存為文件的函數(shù)調(diào)用。

這是一個(gè)插件中的插件!它是一個(gè)支持JS批處理的開發(fā)工具。你可以在這里用JS代碼直接控制谷歌瀏覽器,甚至控制每個(gè)頁面內(nèi)容。
爬蟲是編寫kSpider工具的最初目的,但實(shí)際上它可以做的更多,讓你釋放想象!

更多內(nèi)容請參照我的上一篇文章。
Chrome extension擴(kuò)展開發(fā)實(shí)戰(zhàn)
示例代碼,運(yùn)行它就可以保存指定窗口的全部標(biāo)簽卡頁面內(nèi)容為多個(gè)html文件。
function sampleFunc() {
if (!data.curWin) return
let tabsinfo = { windowId: data.curWin.id, url: ['http://*/*', 'https://*/*'] } //從上面下拉菜單改變data.curWin.id
let querystr = '$(document).find("body").html()'//獲取頁面內(nèi)容,完整內(nèi)容用document.documentElement.innerHTML
chrome.tabs.query(tabsinfo, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
chrome.tabs.executeScript(tabs[i].id, { code: querystr }, function (result) {
saveContent(result) //這個(gè)函數(shù)是kSpider專有的,更多內(nèi)容請參考HELP幫助
})
}
})
}
sampleFunc()
以下是更新手記。
v2020.04.06提供以下功能:
RunScript執(zhí)行代碼
等同于在Chrome擴(kuò)展內(nèi)直接運(yùn)行Js代碼。默認(rèn)包含了一個(gè)示例,可以向特定窗口的所有標(biāo)簽頁執(zhí)行某段代碼,實(shí)現(xiàn)頁面內(nèi)容的保存。
v2020.04.05提供以下功能:
保存當(dāng)前頁面內(nèi)容(Ctrl+Shif+S)
不同于常規(guī)模式Ctrl+S保存網(wǎng)頁源代碼文件,kSpider保存的是所見的內(nèi)容。 對于現(xiàn)代的Web頁面開發(fā)技術(shù)(React、Vue)頁面,網(wǎng)頁的源代碼中往往并不包含真實(shí)所見的數(shù)據(jù)。 kSpider保存當(dāng)前頁面的功能可以有效獲取當(dāng)前頁面數(shù)據(jù)。 目前版本的kSpider只下載http(s)開頭的地址,也不保存頁面相關(guān)的圖片或其他資源文件。
保存當(dāng)前窗口所有頁面內(nèi)容
一鍵保存當(dāng)前窗口所有的頁面為多個(gè)文件。
關(guān)于示例代碼
- 可以把整個(gè)示例代碼換為最簡單的alert('Hello world!')來測試體驗(yàn)。
- 代碼將在Chrome插件環(huán)境下運(yùn)行,擁有kSpider所有的授權(quán)。可以直接使用類似chrome.tabs、chrome.windows這樣的功能。
- 你可以參照谷歌的官方文檔說明(復(fù)制到瀏覽器中打開):
- 代碼頂部的下拉菜單用于切換執(zhí)行命令的窗口,它保存在data.curWin變量中。窗口增多或關(guān)閉后需要進(jìn)行刷新。
- 在向頁面注入的代碼中,可以使用JQuery語法。因?yàn)槊總€(gè)頁面加載完成后,kSpider都會自動(dòng)預(yù)先注入JQuery庫。
- 使用chrome.tabs.query獲取標(biāo)簽頁列表,使用chrome.tabs.executeScript向頁面注入腳本。具體請參照上面鏈接的Chrome官方文檔。
- 注入頁面的腳本querystr字符串是運(yùn)行在頁面環(huán)境中的,因此它不能使用chrome.tabs類似的功能。
- 函數(shù)saveContent(str)是個(gè)小禮物,它用來幫助你將字符串內(nèi)容存儲為html文件。
項(xiàng)目地址
項(xiàng)目已經(jīng)放在我的網(wǎng)站上開源了,大家可以直接下載到本地,然后瀏覽器加載這個(gè)項(xiàng)目運(yùn)行使用。
http://10knet.com/zhyuzh/kspider
歡迎你把發(fā)現(xiàn)的問題或者好的建議在簡書這里留言。
歡迎關(guān)注我的專欄( つ??ω??)つ【人工智能通識】
每個(gè)人的智能新時(shí)代
如果您發(fā)現(xiàn)文章錯(cuò)誤,請不吝留言指正;
如果您覺得有用,請點(diǎn)喜歡;
如果您覺得很有用,歡迎轉(zhuǎn)載~
END