谷歌抓取网页视频插件(从这篇帖子leetcodeinone题目讲解汇总(持续更新中))
优采云 发布时间: 2021-10-29 00:12谷歌抓取网页视频插件(从这篇帖子leetcodeinone题目讲解汇总(持续更新中))
介绍
为什么会想到做这样的插件,因为博主在更新微信公众号【刷世界】后台数据库的时候需要有博客园主题帖的链接,所以要总结一下这篇文章的主题解释,leetcode all in one (Continuous update...) 提取每个主题的链接。之前博主都是用excel插件kutools来完成的,但是这个插件不是免费的,只能在windows下使用,对于mac control等博主来说非常不方便。本来以为mac下应该有类似的插件,找了半天也没找到合适的。突然,有一个想法,是的,为什么不试试谷歌表。您应该能够提取其上的链接。结果更令博主失望。谷歌表格感觉它提供的功能比excel少,还好有插件商店。然后去搜了一下,看到一个叫extract drive links的插件,但是貌似是提取文件的链接,不是数据的链接,更坑爹的是这个插件不能用,显示:
此应用程序尚未通过谷歌验证才能使用谷歌登录。
貌似插件作者没有要求谷歌验证,所以不能用。无奈,只能上网搜索,看看大家有没有什么好的解决办法。果然有人遇到和我一样的问题,看这个帖子。而且还提供了一个脚本,博主试了一下可以用,但是用户体验不是很好,对非码农也不太友好,所以为什么不写一个用户友好的插件呢?供大家使用?做吧,让我们开始插件开发之旅。
插件开发
第一步当然是找资料。我搜索了google sheet插件开发的官方文档。有api开放供开发者调用,这是必须的。我还找到了一些关于插件发布的文档。等发售了再研究吧。现在什么都没有了,看这些也没多大意义。然后去github找了相关的项目。大概找了几个,但是发现和自己想做的事情不太相关,没有太大的参考价值。直接去研究开发文档比较好。
查阅了一些资料,大概了解到google docs插件的脚本语言使用的是google script,是一种基于javascript的语言。只要你会写javascript,没有什么大问题,就是js语法调用google docs特定的api就可以了。
在开始实施之前,我明确了我的需求。我希望用户可以输入一个特定的时间间隔,然后提取该时间间隔内的所有链接并显示到特定位置。那么整体分为三步:
弹出输入框供用户输入并获取输入结果。
执行链接提取。
找到一个特定的位置并显示它。
第一步和第三步服务于用户体验,第二步是这个插件的核心,所以我们先来实现它。提取链接的原理是什么,就是从公式中的超链接中提取。不管是google sheet还是excel,点击任意一个位置,上面都有一个fx显示框,在那里显示公式,在那里显示链接,例如:
=超链接(“”,“谷歌”)
这意味着文本是 google 并且收录的超链接是。提取方法是通过字符串的正则匹配来完成的。算法部分在此不再赘述。博主稍后会把源码放到github上,有兴趣的小朋友可以自行研究。
博主也遇到了一个问题,就是直接从网页复制的富文本,虽然确实收录了超链接,但是并没有直接显示公式中的超链接。但是,公式中仅显示文本。我在互联网上搜索,这似乎是一个常见问题。仅在没有超链接公式的情况下查看粘贴值。这是一个令人头疼的问题,因为要提取的链接来自公式。博主想到了手动解决。对于每个单元格,执行以下操作:
右键单击单元格并在菜单中选择编辑链接。单击应用。
这样,超链接就会出现在公式中。当然,这只是临时解决方案,因为数据量大的时候会很不方便。在此请大家一起来想办法。
完成最重要的一步后,剩下的两步就比较简单了。弹出输入数据框的实现可以在gsuite文档的官方文档对话框和侧边栏中找到,stackoverflow上的一个是在特定位置显示的。发布脚本让googlesheets 自动跳转到a 列中的下一个可用行?。
释放
好了,到此为止,插件已经开发完成了,博主自己测试了。没有大问题。以下准备发布。谁知道开发只花了不到一天的时间,研究如何发布却花了一整天的时间。三天,实在是太不合理了。谷歌的发布流程太复杂,各种文档和链接都在跳来跳去。看得眼花缭乱,让我们吐槽一下。.
首先,当然,我要去看看插件发布的官方文档,发布附加组件。我大概发现有两个发布地点,一个是chrome web store,另一个是g Suite Marketplace。博主想了想,我们做的属于g Suite插件,并不是chrome插件。说是在g Suite市场上发布是有道理的,但是后来发现其实是个坑,需要同时在两个平台上发布。
然后博主正在研究如何发布到 g Suite 市场。遇到的第一个麻烦是他需要一个经过谷歌验证的网站。谁会为这个小插件构建服务器?@网站啊,不过大家要在google搜索控制台上进行网站验证。验证方式很多,比如在服务器上上传html文件,或者使用html标签,或者使用google分析等等。再也受不了鸟了。后来博主终于找到了一个捷径,就是用google网站创建的网页可以自动验证。后来,他们发现只有用旧版google网站创建的网页才能成功验证。新版本好像有点问题。我介绍了这个插件,截图等等。这对博主来说花费了很多时间。
接下来要做的是申请oauth验证。这可能是google后来添加的一个步骤。和介绍中提到的插件一样,貌似该插件没有经过验证,无法使用。主要是制作各种尺寸的插件logo。所以我用photoshop做了一个,然后我想要整个隐私政策privicay政策。博主在网上找了一个模板,改了。本次oauth验证申请审核时间不短,请耐心等待。
下一步是激活和配置 g Suite 市场 sdk。这很烦人。你要制作banner图片,也就是插件商店里展示的图片,所以我用photoshop重新调整了一下。有三种不同的尺寸和不同的尺寸。比例旗,我也是哈哈哈,什么服务条款都要写,全,全,全,什么是全。
配置完成后遇到一个坑,因为配置下有发布界面。填完所有信息,怎么发布不了,因为发布按钮一直是灰色的,无法点击。后来上网查了一下原因。我在 google 问题跟踪器附加发布表单上发现了一个相关的帖子不起作用。好在博主之前在苟家实习过,对bugnaizer很熟悉。一位好心的 googler 告诉博主,他应该先把它上传到 chrome 网上商店。在 cws 上发布后,它可以自动发布在 g Suite 市场上。
好的,让我们去chrome开发者仪表板并发布它。项目上传后,我们将等待审核。第二天Googler联系说我这个插件的想法挺有意思的,但是oauth review还没下来,还不能发表。我也指出了ui的拼写错误,嗯,审稿很仔细,给这位googler的专业点赞。然后去和oauth审稿人进行了长时间的交流,后来需要拍个视频来展示每个scope的使用方法,反正超级麻烦。博主一时还不想发表,但一天后,突然就过去了。精力很充沛,所以我立即告诉了插件的审稿人,第二天就成功发布在chrome网上商店了。
提升
最后说一下需要改进的地方,就是这个插件只有在公式中存在链接的情况下才能提取出来。虽然直接从其他网页复制的富文本收录链接,但它可能不会显示在公式中。博主提出的临时解决方案是右键单击单元格,选择编辑链接,然后单击确定。然后链接将出现在公式中。但是,如果添加了很多行,这种操作效率不高,需要想办法解决。但是google并没有提供操作编辑链接的API,所以我们似乎无法使用代码让链接出现在公式中。博主一时想不出好办法,希望大家有好办法告诉博主~
后记
终于,我成功发布了这个小插件。开发只用了一天。释放持续了一个多月,我喝醉了。不过,最后在chrome网上商店看到我的插件还是很满足的。有了这个发布体验,以后做点事情应该会更舒服~
源代码
项目代码已经上传到github,如果喜欢请给博主点个star^.^:
Chrome 应用商店地址:
参考