博客迁移到 Hugo

hugo 主页

博客很长时间没有打理,趁着这几天假期,把博客从 hexo 迁移到 hugo,也作为重新开始写博客的一个起点吧。

CentOS无桌面环境部署Selenium+Firefox

selenium+python

桌面环境使用Selenium默认会打开浏览器界面,但是如果要部署在无桌面环境的服务器环境,使用普通方法没法运行Selenium。

在服务器环境安装Gnome或者其他桌面环境,比较占用资源。

可以通过安装虚拟桌面环境解决这个问题。

AES加密原理及Python实例代码

AES(Advanced Encryption Standard)是一种对称密钥加密算法,即双方使用同一段密码对数据进行加解密操作。 AES的分块区组长度必须是128 bit,密钥长度可以是128 bit,192 bit或256 bit,分别称为“AES-128”、“AES-192”、“AES-256”。 加密过程中使用的密钥是由Rijndael密钥生成方案产生。

自己搭建亿级爬虫IP代理池

做爬虫抓取时,我们经常会碰到网站针对IP地址封锁的反爬虫策略。但只要有大量可用的IP资源,问题自然迎刃而解。

以前尝试过自己抓取网络上免费代理IP来搭建代理池,可免费IP质量参差不齐,不仅资源少、速度慢,而且失效快,满足不了快速密集抓取的需求。

Squid 搭建正向代理服务器

Squid 是一款缓存代理服务器软件,广泛用于网站的负载均衡架构中,常见的缓存服务器还有varnish、ATS等。

正向代理服务器可满足内网仅有一台服务器可以上网,而要供内网所有机器上网的需求,也可以用于爬虫的代理访问。在实践中我将Squid作为爬虫代理服务器,实现了多IP切换的功能,将在后续文章中记录实现过程。

Flask 项目结构实例

Flask是一款轻量级的Python Web框架,相比于Django,其更适合于快速开发产品原型,只需要很少的代码量就可以构建一个Web项目。

在实践经验中碰到过很多问题踩过不少坑,在此总结记录一个可用的项目结构实例。