国内观看Netflix

发布在 python

元旦三天假,比较无聊,看了两天的Netflix,起因是网上很多教程说这家视频网站对代理封杀很严重,即使付费还不一定能看,搞的好像很吸引人的样子,这勾起了我的好奇心,想看看这个视频网站是啥样的,去淘宝花十块钱买了一个月的共享账号,折腾了一下还是能看了!给我的感觉就是视频清晰不卡顿(即使代理一点也不卡),至于视频数量,不敢恭维,可能网上找盗版资源下载更好一点,突破代理限制的方法就是服务器使用ipv6地址去连接Netflix

阅读全文

ocr.ficapy.com 后台实现

发布在 python

因为个人需求,写了一个很小众的作品,https://ocr.ficapy.com,我给它起的项目名是pdfaddtext,用途是给扫描版本的PDF文件加上搜索功能。使用场景是我有几本扫描版本的PDF书籍(网上有特别多的扫描版书籍),有时候想搜索书中有没有提到某个知识点,纯图片是无法搜索的,你只能凭记忆去找。本项目作用就是将PDF的文本内容识别出来,然后写入一层隐藏的文字层,这样PDF阅读器就能够搜索这些文字了,同时尽量保证将识别出来的文字写到原图片对应的位置,类似的工具有OCRmyPDF,它的缺点很明显,使用Tesseract OCR引擎,对比识别效果,简直被商用OCR吊打。

最开始有了这个想法,我大概花费了一个下午的时间用python写出了基本的demo。将每一页PDF转换成图片,然后用免费的OCR服务去识别,得到结果,最后合并出一个新的pdf出来。过程算是比较顺利。本着独乐乐不如众乐乐的心态。我计划将它转变成一项web服务,于是挖坑之旅就此开始了

TLDR

阅读全文

Python高级多线程并发

发布在 python

在多线程多进程当道的年代这个被称为高级并发的模块还是很令人惊艳的。concurrent.future模块的厉害之处在于封装了多线程、多进程、锁、队列到一起。这些细节使用者都不需要知道。四五行代码能实现以往二三十行实现的效果。而且多线程和多进程的使用方式完全一样,堪称完美杰作。可惜,现在已经是异步时代了,主要是因为tornado用到了它的Future模块。我就看看它大概是怎样实现的

阅读全文

Python中的多线程锁

发布在 python

多线程是个坑爹的课题,有多线程就有锁。Python中有低级线程模块_thread、再封装一下就是threading、再来一下就是from concurrent.futures import ThreadPoolExecutor。其中涉及到的锁大概有Lock、RLock、Condition、Semaphore、BoundedSeamphore、Event。这么多看起来怪吓人的,其实这么多的锁全部只是由Lock演化出来的

阅读全文

理解metaclass

发布在 python

metaclass一直被归类为比较高深的内容,写代码也很少会使用到metaclass。然而如果你看某些项目的源代码,还是会被绕到metaclass里面去。花一些时间理解下metaclass很有用的,因为它真的能把一条线串起来,环环相扣,所以有扎实的基础是掌握metaclass的前提,本文代码基于python3.5

阅读全文

tornado表单验证

发布在 python

工作中看到有一些不好的代码,想了个办法优化了一下,于是有了这篇博文。本文主要讲tornado的表单验证,使用的是wtforms。本文最终达到的效果是使用self.xx获取post传递过来的值。

阅读全文
作者的图片

ficapy

author.bio


author.job


广东深圳