软件技巧

【编程】kSpider谷歌浏览器爬虫插件

2020-04-07  本文已影响0人  zhyuzh3d

直接用JavaScript代码批量处理浏览器全部页面,批量向每个页面注入JS脚本甚至JQuery脚本,支持批量保存为文件的函数调用。

这是一个插件中的插件!它是一个支持JS批处理的开发工具。你可以在这里用JS代码直接控制谷歌浏览器,甚至控制每个页面内容。

爬虫是编写kSpider工具的最初目的,但实际上它可以做的更多,让你释放想象!

更多内容请参照我的上一篇文章。

Chrome extension扩展开发实战

示例代码,运行它就可以保存指定窗口的全部标签卡页面内容为多个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()'//获取页面内容,完整内容用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) //这个函数是kSpider专有的,更多内容请参考HELP帮助
            })
        }
    })
}
sampleFunc()

以下是更新手记。

v2020.04.06提供以下功能:

RunScript执行代码

等同于在Chrome扩展内直接运行Js代码。默认包含了一个示例,可以向特定窗口的所有标签页执行某段代码,实现页面内容的保存。

v2020.04.05提供以下功能:

保存当前页面内容(Ctrl+Shif+S)

不同于常规模式Ctrl+S保存网页源代码文件,kSpider保存的是所见的内容。 对于现代的Web页面开发技术(React、Vue)页面,网页的源代码中往往并不包含真实所见的数据。 kSpider保存当前页面的功能可以有效获取当前页面数据。 目前版本的kSpider只下载http(s)开头的地址,也不保存页面相关的图片或其他资源文件。

保存当前窗口所有页面内容

一键保存当前窗口所有的页面为多个文件。

关于示例代码

项目地址

项目已经放在我的网站上开源了,大家可以直接下载到本地,然后浏览器加载这个项目运行使用。

http://10knet.com/zhyuzh/kspider

欢迎你把发现的问题或者好的建议在简书这里留言。


欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


每个人的智能新时代

如果您发现文章错误,请不吝留言指正;
如果您觉得有用,请点喜欢;
如果您觉得很有用,欢迎转载~


END

上一篇 下一篇

猜你喜欢

热点阅读