前景提要

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

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:961562169


回顾制作插件

简单介绍一下 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之后即可分享给自己的小伙伴使用啦。

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. 在线视频调速 chrome插件

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

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

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

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

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

最新文章

  1. CF438E The Child and Binary Tree(有意思的生成函数 + 多项式求逆 + 多项式开方)
  2. JavaScript的主要功能
  3. 生成可执行jar文件
  4. 【Leetcode | 顺序刷题】数学目录
  5. cronschedulebuilder 到时还没运行完_为什么我的软件编译时没问题,运行时却出错?...
  6. 玄学小记.5 ~ Bluestein's algorithm
  7. 一加8 Lite或将搭载联发科天玑1000:支持SA、NSA双模5G
  8. iPhone6(IOS12.5.5)越狱记录
  9. PostgreSQL数据库pg_test_timing学习使用
  10. #SVN Skipped ‘xxx‘ -- Node remains in conflict 错误的解决办法#
  11. win7系统中建立家庭局域网
  12. 数据结构——数组以及n维数组
  13. 读博与怠工(在北航硕博连读)——转载
  14. 密钥创建ssh-keygen
  15. python进阶必读汇总
  16. Twitter开发者账号及开发者APPs的创建 2019.05
  17. 运算符、||运算符、?.可选链运算符、? ?空位合并运算符
  18. mysql字段的长度_MySQL字段的长度
  19. c语言溢出进位,Z80上的溢出和进位标志
  20. Juniper防火墙系列-04-Juniper防火墙IPSec VPN的配置

热门文章

  1. 计算机培训荣誉证书模板,各种荣誉证书的英文翻译2014827.doc
  2. QQ空间抢车位换车顺序
  3. thinkph 上花院 生多行mysql_MySQL主从复制
  4. 微信小程序使用意见反馈
  5. 迷失lost结局什么意思_《迷失》今晨结局:多个谜团依然未解(剧透)
  6. 旺店通·企业奇门与金蝶云星空对接集成查询盘点单打通其他入库新增
  7. Nagios配置飞信报
  8. grub引导项修复详解_重新安装win7后,修复Grub启动项
  9. 批量修改AD账号的UPN后缀(同适用于解决外网自动配置Exchange邮箱)
  10. 关于麒麟系统的兼容性问题