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

直接用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)开头的地址,也不保存页面相关的图片或其他资源文件。

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

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

关于示例代码

  • 可以把整个示例代码换为最简单的alert('Hello world!')来测试体验。
  • 代码将在Chrome插件环境下运行,拥有kSpider所有的授权。可以直接使用类似chrome.tabs、chrome.windows这样的功能。
  • 你可以参照谷歌的官方文档说明(复制到浏览器中打开):
  • 代码顶部的下拉菜单用于切换执行命令的窗口,它保存在data.curWin变量中。窗口增多或关闭后需要进行刷新。
  • 在向页面注入的代码中,可以使用JQuery语法。因为每个页面加载完成后,kSpider都会自动预先注入JQuery库。
  • 使用chrome.tabs.query获取标签页列表,使用chrome.tabs.executeScript向页面注入脚本。具体请参照上面链接的Chrome官方文档。
  • 注入页面的脚本querystr字符串是运行在页面环境中的,因此它不能使用chrome.tabs类似的功能。
  • 函数saveContent(str)是个小礼物,它用来帮助你将字符串内容存储为html文件。

项目地址

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

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

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


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


每个人的智能新时代

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


END

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • chrome扩展开发入门教程 最近在开发chrome插件,看到一篇非常适合入门的教程,特记录一下 注:转载 本文首...
    谢大见阅读 11,530评论 1 25
  • Chrome扩展开发 标签(空格分隔): Chrome扩展 1、写在前面 Chrome插件是一个用Web技术开发...
    记忆的时间差阅读 11,239评论 0 15
  • 写在前面 进程、线程、内存、词法语法解析都了解过,但是作为一个前端工程师,浏览器对我们来说更像一个黑盒。比如页面间...
    good__day阅读 5,072评论 0 0
  • 继续长白山丁香花之旅,这回是近景。 在路上行走,淡淡的花香扑鼻。 与你分享,我眼中的春城。 前行路上,有我相伴。 ...
    姑苏伴歌阅读 1,567评论 2 2
  • 所以那些可能都不会是真的 因为你没有草原 所以才会爱上野马
    你喜欢这个凛冬吗阅读 1,553评论 0 0

友情链接更多精彩内容