优雅的写判断语句

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

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开发做一个梳理。 前端网页三剑客 ...

Python的定制类笔记

前言 最近在阅读flask源码的时候,经常看到一些python类中,类似于__xxx__的变量和 函数名,这些大多是在python中有特殊用途的。Python的class中有许多类似于这样 的函数,我们用他们来定制我们的类,来实现一些class本身不具有的方法。由于有些方 法我也不是很明白,为了能更好的理解他们,索性就做一个总结。参考谷歌的博客及官方 文档 先简单定义一个类: class Me(object): def __init__(self, name): self.name = ...

什么年龄说什么话

有时候安静下来,插上耳机播放自己的歌单,每次放到之前或许是几个月前几年前听的,而最近很少听的歌时,总会很有感触。好比现在我正听到朴树唱到:“人随风飘荡,天各自一方”,我就想到7月份暑假的时候,天气很热很热,远处有知了吱吱吱的叫,而现在寒风肆虐,万籁俱寂。突然很想找个人说说话,说我现在的感受到的还有想到的东西,其实要我说也肯定说不出来,感受到的东西从来都是可意会不可言传。还不如直接唱出来,带着耳机唱歌,每个人都会觉得自己唱的声情并茂,仿佛自己就站在舞台上受万众瞩目。这个时候旁边的室友就会不识 ...