【編程】kSpider谷歌瀏覽器爬蟲插件

直接用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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容