如何利用Selenium实现更加高效的爬虫

1. 导语Selenium作为浏览器自动化工具,由于其可以直接执行js代码的优越性,经常被用做爬虫工具。但是,毕竟需要控制浏览器,低效率高内存始终是其难以甩掉的标签。在我个人爬虫开发中,对如何高效利用selenium有了一套个人的理解。 2. 用js注入代替selenium原生操作selenium库提供的execute_script方法使js注入成为可能。下面是一个js注入的例子 12js&...

Python如何准确的计算Http请求中的Content_Length

Content Length表示的是http请求中的数据长度,也就是requests中的data对应长度。 通常我们给requests传递的data是字典格式的,那么直接使用len(data)是无法获得准确的content length的。 在http中,data是以字符串的形式传递的。那么以下的字典格式的data对应的字符串是什么呢? 1234data = {'...

破解图片等资源跨域和防盗链阻拦

如果A站点想将B站点的img等资源放到A站点,通常会受到对方站点防盗链的阻拦。这里是我提供的一个思路,利用腾讯云函数的免费资源,完美绕开防盗链。因为图片不会受到浏览器的跨域阻拦,其他资源的跨域问题也能通过这个方法解决。 1:什么是防盗链?防盗链是由对方站点设置的,防止未受许可的站点直接引用对方站点的资源。比如这里有一个 ​https://www.baidu.com/abc.jpg​ 图片链接...

Selenium-Webdriver接口

越来越多的人开始使用Serverless构架搭建自己的应用,而Serverless的缺点显而易见,很难自定义运行时。当我尝试在云函数搭建一个基于Webdriver的爬虫程序时,我了解到,基于python的Selenium应用还无法在云函数上运行,这是由于云函数并没有安装chrome浏览器。 如果想在云函数上运行Selenium,则必须使用node.js 8.10版本+puppeteer插件。...

基于Serverless的音乐下载工具

1:使用手册一个基于python,搭建在Serverless云函数上的免费音乐下载程序。可剥离云函数本地运行。 通过构造形如<https://m.sci.ci/>音乐相关信息这样的网址,就可在浏览器上下载喜欢的音乐了。 demo简单的例子,想听爱的供养? 尝试在浏览器地址栏输入m.sci.ci/爱的供养 现在试试👉m.sci.ci/爱的供养 返回的音乐文件是杨幂版本的,不喜欢?...

在ifvod上爬取m3u8播放链接

0:绪在上个月,我通过爬取youtube视频,提取mp3,制作了一个基于云函数的搜索音乐网站。后来,我抱着解决ifvod广告的想法,阅读了ifvod的网站源码,并且通过修改js代码,成功删除了ifvod的广告。受上述两个过程的启发,我想,通过提取ifvod上的视频m3u8链接来制作一个基于云函数的视频搜索网站。 1:什么是m3u8m3u8文件是一种文本文件,其格式如下: 1234567#EX...

语雀+本地hexo博客书写

我一直在寻找一种替代Typora,能够实现在线书写个人博客的方法。一次偶然的阅读,我了解了语雀。在网上检索后发现,已经有不少教程讲解如何通过语雀的钩子+Github Action+云函数的方法,在线同步语雀文章到github博客。在这片文章里,我总结了,今天搭建语雀过程中遇到的坑,和解决过程。看这篇文章之前,你应该已经在搭建语雀博客同步过程中遇到了不少阻碍吧。 我本人按照《Hexo+GitH...

ifvod去除广告

ifvod视频会在视频的开始、25分钟、50分钟的时候插入广告,现在仅需简单的两步,就能去除ifvod播放广告。 1:安装浏览器插件点击下面的链接,将ReRes插件添加至Chrome。 https://chrome.google.com/webstore/detail/reres/gieocpkbblidnocefjakldecahgeeica 安装好后,在浏览器拓展程序中,将出现ReRes...

爬取Youtube搜索结果

1:绪最近在做一个音乐下载软件,通过搜索音乐名称,下载youtube上信息匹配度最高的视频,提取其中的音频,来获取音乐。开源软件youtube-dl已经完成了视频下载和音频提取的全部工作,我要做的就是,获取目标视频的id或者视频链接,然后调用youtube-dl下载。 2:接口谷歌官方其实已经提供了获取YouTube搜索结果的api,直接调用即可。 12345678910#调用谷歌api获取...

ESP8266从0到1

0:前语推荐太极创客,学习ESP8266模块的更多知识。 1:连线ESP8266通过串口与电脑或者其他单片机实现交互,串口的使用比较简单。以最简单的ESP8266模块为例进行介绍。其他模块可能已经有了usb type-c或者其他接口,就直接用对应接口的线和设备连接就可以了。下图的模块,没有usb接口,因此需要我们自己连线。 模块共引出了8个引脚,其中, VCC:接3.3V电压,为模块供电。...