前景提要

前几期写了一篇关于谷歌插件制作的文章,但是因为没有正经的小实战,一直鸽了这么多期文章,这里写一篇比较受关注的腾讯视频的水印去除的文章,方便各位日后爬取腾讯视频的时候总带其水印爬虫。
学习制作谷歌插件对于爬虫喜欢使用 selenium 的人士有很大的帮助,可以解决访问网页出现的一系列问题。


回顾制作插件

简单介绍一下 manifest.json 配置文件里面所需要的参数。

  • name 拓展的名字,必须是字符串类型
  • version 字符串类型,是当前插件的版本号
  • description 拓展的介绍信息
  • permissions 是一个String数组,每一个权限都使用String来表示。某些关键权限在安装前会告知用户
    • cookies 启动cookies权限
    • tabs 启动管理Chrome浏览器标签栏权限
    • activeTab 启动与当前页面交互的API权限
    • contextMenus 启动右键菜单权限
    • history 启动历史记录权限
    • storage 启动本地存储数据权限
    • debugger 启动使用debugger工具权限
    • background 启动拓展后端环境
  • browser_action 浏览器的右上角显示
    • default_title 鼠标移入,显示简短描述
    • default_popup 鼠标点击,弹出的显示内容
    • default_icon 右上角拓展图标
  • background 常驻后台脚本
    • scripts 后台常驻,直到关闭浏览器一直执行的脚本
    • popup 调试页面
    • persistent 持久运行
  • content_scripts 向页面注入脚本
    • matches 匹配网址的正则列表
    • run_at 选择注入JS的时机
      • document_start:所有css加载完毕,但DOM尚未创建时
      • document_end:DOM创建完成,但图片及frame等子资源尚未加载时
      • document_idle:document_end之后,window.onload之前
    • js 需要注入的脚本文件列表
    • all_frames 是否运行在页面所有的frame中
  • commands 使用命令 API 添加快捷键,并为它们绑定默认的组合键
    • attach-debugger 命令名
    • suggested_key 设置组合键
    • description 命令描述
  • manifest_version manifest文件版本号。Chrome18开始必须为2

Chrome拓展开发之去腾讯视频广告

去除广告的原理很简单,我们首先定位到元素面板的广告节点,然后用JS方法remove去除。
这里我们使用Chrome插件来实现,定位的函数是document.querySelectorAll,获取到的是DOM对象,因而可以直接使用它下属的remove方法去除。这里的定位CSS选择器我们需要根据具体的网站结构来编写。
这里的注入时机是在DOM渲染之后,也就是document.end

全部代码如下

manifest.json 文件代码如下:

{"manifest_version": 2,"name": "腾讯视频去除水印","version": "0.0.1","description": "解决腾讯视频爬虫出现水印的现象,进入谷歌后自动执行去除水印.","author": "Lux","content_scripts": [{"matches": ["https://v.qq.com/x/cover/*"],"run_at": "document_end","js": ["advertising.js"],"all_frames": true}]
}

advertising.js 代码如下:

var thread = function () {var nowTime = 0,maxTime = 15;var threadArr = [];this.addThread = function (fn) {threadArr.push(fn)}this.start=function () {doingThread();}var doingThread = function () {if (threadArr.length > 0) {if (nowTime < maxTime) {let now = new Date().getTime();var method = threadArr[0];method();threadArr.splice(0, 1);let nowNew = (new Date().getTime() - now);nowTime += nowNew;doingThread();} else {nowTime=0;setTimeout(doingThread, 1);}}else {setTimeout(doingThread,100)}}
}
var fn = function () {img = document.querySelectorAll('img.txp_waterMark_pic')if (img.length == 1){img.forEach(function(a){a.remove()});return true;}else{console.log('not img');return false}
}var thread = new thread();
thread.start()
try{for (let i = 0; i < 1000000; i++) {thread.addThread(function () {if (fn()){throw 'jumpout';}})}
}catch(e){}

谷歌扩展打包

在Chrome扩展程序下将代码打包进入 crx 中。

拿到crx之后即可分享给自己的小伙伴使用啦。


最后还是希望你们能给我点一波小小的关注。

奉上自己诚挚的爱心

自制腾讯视频去除水印Chrome插件相关推荐

  1. 自制腾讯视频去除水印Chrome插件!厉害吧!

    前景提要 前几期写了一篇关于谷歌插件制作的文章,但是因为没有正经的小实战,一直鸽了这么多期文章,这里写一篇比较受关注的腾讯视频的水印去除的文章,方便各位日后爬取腾讯视频的时候总带其水印爬虫. 学习制作 ...

  2. Python自制腾讯视频去除水印Chrome插件

    前景提要 前几期写了一篇关于谷歌插件制作的文章,但是因为没有正经的小实战,一直鸽了这么多期文章,这里写一篇比较受关注的腾讯视频的水印去除的文章,方便各位日后爬取腾讯视频的时候总带其水印爬虫. 学习制作 ...

  3. 如何去除腾讯视频的水印

    如何用正确的姿势去除腾讯视频的水印 首先打开你想看的视频,这里以奇异博士为例 右键空白地方点检查 点开之后按Ctrl+F打开搜索,输入waterMark,找到第二个搜索结果,选中按del删除 成功去除 ...

  4. 手机怎么给视频去除水印

    在休息的时候,相信有很多人的都是会拿着手机躺在床上或者是趴在桌子上去追剧.无论是偶像剧还是古装剧,总会有哪些比较甜甜的镜头,有的会选择保存那个部分的视频片段,再去分享到一些地方,有的平台对要上传的视频 ...

  5. 视频去除水印、台标和logo,并重新在生成新的视频

    视频去除水印.台标和logo 对于图片的水印和logo的去除,网上有很多办法,最直接的办法,打开photoshop,PS就可搞定,还有其他的图像处理软件效果也都不错,但是对视频的的水印.台标和logo ...

  6. 在线视频调速 chrome插件

    在线视频调速 chrome插件 网站视频播放格式主要为html5,flash等等. 对于主流视频网站 Chrome插件 video speed controller 在chrome网上应用商店下载安装 ...

  7. 视频去水英视频去除水印工具今日头条自媒体运营推广视频教程学习资料短视频运营从零到精通...

    视频上的水印怎么去掉批量处理去重消重去水印去logo软件 ps去除水印视频教程批量处理去重消重去水印去logo软件 手机怎么去掉视频水印批量处理去重消重去水印去logo软件 手机去视频水印免费版批量处 ...

  8. 视频去除水印,只需两分钟随时学会

    我们在生活中会有喜欢的照片或者视频,但是上面有水印,严重影响了美观,那我们应该怎么去除呢?别担心跟我一起来,小编手把手教您,很简单喔. 一.视频怎么去水印 步骤一:在浏览器上搜索"水印云&q ...

  9. 教你如何将视频去除水印

    很多时候我们看到一个好的视频想保存下来分享到自己的朋友圈,总是会发现上面又水印,首先我来讲讲如何视频去水印,而现在呢一般都是通过软件来完成去水印,而我呢,一直都是在使用"水印云", ...

最新文章

  1. 【数据挖掘】决策树算法简介 ( 决策树模型 | 模型示例 | 决策树算法性能要求 | 递归创建决策树 | 树根属性选择 )
  2. 年过30 ,这10条人生建议句句肺腑
  3. 一文看尽10篇目标检测最新论文(SpineNet/AugFPN/LRF-Net/SABL/DSFPN等)
  4. 电子科大16秋计算机应用基础在线作业一,电子科大16秋《计算机应用基础(本科)》在线作业3...
  5. C++ STL map集合的使用
  6. 带你深入理解Java的IO到底是个啥
  7. html的音频播放,HTML5 音频播放 audio
  8. 2000以内!一加Nord 2渲染图曝光:搭载联发科天玑1200
  9. _技巧_Chrome_Vimium插件_纯键盘控制浏览器
  10. SGI版本空间配置器
  11. linux下安装指定版本的nodejs(升级到指定版本)
  12. 容器技术Docker K8s 25 容器服务ACK基础与进阶-监控管理
  13. Blast2GO-Pro心得
  14. 彼时我们都各自窝在书馆里最阴暗的角落
  15. Android 调用相机拍照并保存
  16. 【Unity天空盒】卡通渲染中如何实现云的消散效果
  17. 读《主角》笔记,摘记秦腔皇后忆秦娥的半生浮沉
  18. opencv获取bbox
  19. Ubuntu 13.04下安装QQ2012
  20. Matlab2018b 破解错误License Manager Error -8 ..... Licensing error: -8523

热门文章

  1. windows批量杀进程的方法
  2. mysql+时间查询函数_mysql时间查询函数实例
  3. element 去掉表格底部白线
  4. MongoDB 数据库操作汇总
  5. web前端学习摘要。
  6. CATIA异型面拔模分析命令如何操作?
  7. String类型的数组打印数组名默认打印出来的是地址值怎么办,怎样打印出数组的元素
  8. 《寄生虫》韩国电影观后分享
  9. matlab图片白边_科学网—[原创] matlab输出图片无白边 - 杨光的博文
  10. VHDL VGA 时钟处理 转盘形式 源代码