Nginx场景实践

Nginx(读作:恩静 X)是一个高性能的HTTP和反向代理服务器,一个邮件代理以及通用的TCP/ UDP代理服务器。本篇文章是我最近使用Nginx的记录。你发现本站已经是全站https了,而本站的图片是放在七牛云的。之所以可以使用https://www.yukun.com/qiniu/xxx访问到存放在七牛的图片,是因为使用了nginx的反向代理。 安装 我们使用Docker启动一个ubuntu容器来演示安装过程: $ sudo docker run -t -i -p 80:80 ...

优雅的写判断语句

一个程序之所以能自动做很多任务,是因为我们给他做好了条件判断。项目中,我们难免会使用if/else判断逻辑语句。对简单的情况而言,使用逻辑语句会很清晰简洁,而项目情况一旦复杂,或者判断层次变多,盲目的使用if/else语句就不免会显得难看,而且难以维护和扩展。 比如一个返回今天是什么日子的函数: def get_today(today): if today == 'Monday': return '星期一' elif today == 'Tuesday': return '星期二' ...

Python爬虫(15):煎蛋网加密处理方式

最近一直有朋友问我改版的煎蛋网妹子图怎么爬,因为他们花费精力结果抓了一整个文件夹的防盗图。我之前在很久以前的一篇博客说过,对于这种js处理的网页,要想抓取到网页上看到的数据,大致有三种方法: Selenium结合浏览器驱动,直接获取加载js后的页面,解析数据。这种方法最为简单粗暴,不过速度会慢一点,处理煎蛋这样的网页有点大材小用; ...

分裂

4月1号那天,网易云下架了周杰伦的音乐,也是那天我在地铁上卸载了这个我使用4年的软件。这个月很多歌火了,前几天室友刷抖音,视频的bgm是一首叫《离人凑》的歌。他觉得好听,就搜出来听。我刚听就觉得熟悉,回味了一会,我靠,这不是 烟花易冷 的旋律吗。我就和室友说他抄袭啊,这歌怎么火的,抄袭杰伦很多年前玩的旋律,还能火起来。他一听到杰伦的名字,脸上就露出不屑之色,我立马打住,默默带上耳机。 ...

Python爬虫(14):搭建免费异步IP代理池

之前写爬虫的时候,经常遇到被封IP的情况。解决办法是控制爬虫请求的时间,这样效率低很多,而且一般网站都会有ip访问阈值监控,超过访问阈值仍然可能会被封。最直接的办法是更换ip,如果可以建议选择付费的代理服务,省事又便捷。当然网上也有很多免费代理,只不过这些代理能不能使用就需要我们自己去检测。 ...

对MongoDB的封装

写爬虫的时候,习惯性会把爬取到的数据存入mongodb。为了方便,也为了每次抓取完数据,不在后面接插入数据的生涩代码。最好的选择是简单的封装mongodb的增删改查功能,如果后面使用mongodb的时候可以直接调用它,一劳永逸。 pymongo 其实pymongo这个库已经为我们很好的封装了对数据库的操作,但是我总是很容易忘记或者搞混他的 api。我想实现如果创建数据库,只需要配置好数据库的name,host,port,增加数据:put(data),删除数据:delete(data)。 ...

基于flask的静态博客

我比较喜欢简单的东西,起初我的博客是很简单的,只有最基础的编辑文章和管理文章。 连评论框都没想去弄,现在想想确实有道理。最近一段时间忙于春节拜年,利用一些琐碎 的时间构思,实现了一个基于 flask 的静态博客。我个人是比较喜欢用markdown的,所 有这只适合于喜欢用markdown写东西的小伙伴。不了解markdown语法的可以看这里。 或许你用过基于node.js的hexo或者基于python的Pelican这种重量级静态站点生 成器(我也用过),但是为何不自己写一个呢。 ...

flask应用缓存实现的疑惑和答案

前言 最近自己一直在折腾站点程序,觉得自己的站点响应速度越来越慢。就想着引入一些缓 存,毕竟这是提高速度最简单的方式了。但是动态博客不像静态博客那样,不需要考虑数 据的更新,全局添加缓存。所以若想加入缓存就需要考虑数据的更新问题。 这里需要分为管理员更新信息和游客浏览信息,管理员更新属于可控的更新,比如管理员 自己对于网站的更新(更新文章,发布文章,更新站点信息等)操作,我们可以自己控制 清除对应缓存等待新的缓存,而且管理员不会很频繁的有什么大的更新。游客浏览的信息 ...

理解Python的Web开发

因为python代码的优雅美观且易于维护这一特点,越来越多的人选择使用Python做Web开发。而Python的Web框架百花齐放,目前比较流行的框架有大包大揽的Django,小巧灵活的Flask、Bottle,还有性能高效的异步框架Tornado、sanic。这么多框架只要选择一个,阅读他的文档,就可以很轻松的搭建一个web app,完全不需要去管他实现的原理。 本篇文章意在对一个web开发做一个梳理。 前端网页三剑客 ...