无头浏览器Chrome Headless的爬取和反爬取

最近两天想到Chrome也提供Headless的无头模式,突然想尝试一下。首先官方有一篇文章专门介绍了Chrome无头模式的使用,和基于无头模式衍生出来的各种工具。详情大家可以阅读此文。因此在文章中已经覆盖的内容,我这里就不再重复了。本文我们就简单说说在使用Chrome Headless过程中的一些感想和遇到的问题吧。
Read more

CentOS镜像配置指南

这两天要在CentOS上搭建一个自动化Chrome环境,但是按照网上的帖子按步就把,总是在某些地方卡住。实际上CentOS提供的yum工具非常方便,通常碰到的问题都是缺少依赖文件,并且默认的镜像站点也没有提供依赖包下载。例如,我们在安装Chrome过程中就遇到了缺少libvulkan.so.1依赖包的问题,并且无法在镜像网站上下载到对应的库文件。
Read more

MongoDB的时间类型和ObjectID的时间依据

网上有关于很多MongoDB时间存储格式Date的讨论。其实核心的点就在于Mongodb中以Date格式存储的数据默认为是UTC时间。简单来讲,例如当前我们是早上8点,我们在时区设置为正8区的电脑上使用使用python的datetime.now()获取的时间就是早上8点。但是我们把这个时间不做任何处理,直接存放到MongoDB中的Date类型字段中,就变成了UTC时间(0时区)的早上8点。那么这种情况会带来什么问题呢?
Read more

2步保护你的网站远离恶意爬虫

之前写过一篇文章教你如何防范爬虫,文中列出了8中防范恶意爬虫的方法,并且列出了各自的优劣。一般来说,最简单实现防范恶意爬虫的方法也是最容易被破解的。但是复杂的方法虽然提升了数据安全级别,但是在开发上也要付出比较巨大投入。那么有没有一种比较简单的,但是又不那么容易被破解的恶意爬虫防范方案呢?今天我们就教大家一个相对简单但是能够防范80%恶意爬虫的方案。
Read more

如何有效地读写大数据文件数据

现在处理数据文件常要遇到文件过大,动辄百万行数据,使用普通的文本编辑器基本上都打不开。在Linux中使用VI编辑器也要花很久才能打开,如果需要编辑这么大的文件就非常头痛。最近碰到一个问题,需要在一个40万行的数据文件中,抽出2万行最程序开发(开发阶段不需要那么完整的数据),于是找到了几种从大文件中抽取数据的方案。
Read more

哔哩哔哩视频下载教程

最近在B站追番,突然想把特别喜欢的动漫下载收藏。到目前为止,哔哩哔哩官方App好像还没有下载视频的功能,虽然可以在手机上缓存视频,但是还没有办法完全达到真正意义上的下载。本文将记录探究怎么下载哔哩哔哩视频的整个过程,期间可能会涉及一些网络技术问题。不过在文章的最后,一定会附上一个最终的简要步骤。对于只想下载视频的朋友,建议直接跳到文章中后一节查看下载B站视频的方法。
Read more

在线视频下载技术分析

最近一直在研究如何下载在线视频,主要是想理清楚各大视频网站都用了那些在线视频技术,以及如何实现的。到目前为止,感觉上HLS仍然是用得最广的在线视频技术。如果要简单的介绍,HLS其实就是使用m3u8格式管理的一系列可根据带宽管理的视频流。一个主m3u8文件中可能包含了若干个不同带宽配置的子视频流,这些视频流也是使用m3u8格式管理的分段TS视频或者分段MP4视频。分段TS视频是HLS原生定义的标准视频格式;分段MP4本来是MPEG-Dash原生定义的标准音视频格式。最后HLS也兼容了分段mp4格式,并且在WWDC 2020的苹果开发者大会的视频中使用这种格式提供HLS在线视频服务,WWDC 2017年的视频使用的还是TS格式的视频流
Read more

如何下载在线视频

说起在线视频相信大家一定不会陌生。无论是国内的腾讯视频、爱奇艺、西瓜视频、优酷、PPTV,还是国外的Youtube、Vimeo、还是非常火爆的考研P站,都是非常具有影响力的在线视频平台。无论是在电脑上观看还是通过手机APP观看,在线观看视频已经成为人们的日常之一。国内各大视频网站除了有视频网站提供服务以外,还特别为不同终端设计和开发了自己的应用。比如中国领先的在线视频媒体平台腾讯视频,我们可以通过在电脑上在线观看海量高清视频,也可以通过PC客户端,或者手机、平板App进行观看。Youtube也同样提供手机和平板App,但是好像没有听说过电脑端App。当我们看到喜欢的视频时,通常会想要收藏该视频。不知大家有没有遇到过这种情况,就是前几天看到一个非常喜欢的视频,于是点击收藏了。但是过了一段时间,在自己的收藏夹中突然发现该视频已经不能看了。视频要么被作者删除了,要么被平台下架了。这种情况在Youtube上出现的非常多。因此收藏在线视频最靠谱的方法还是下载在线视频,并且保存在电脑或者手机里。那么,我们应该如何下载在线视频呢?

Read more

从零创建基于Spring Boot框架的J2EE项目

由于之前从来没有使用Java开发过服务,所以这次也算是试水尝鲜。咨询了几个后端大佬,对于创建基于Spring Boot框架的J2EE项目有了一定的了解。从项目结构到插件用法,通过一个简单的J2EE项目都过了一遍。千里之行始于足下,希望本文能够对想要学习Spring Boot框架和Java编程的朋友有一定帮助。
Read more