分类 Python 下的文章

理解 Python 中的 __init_subclass__


在Python的世界里,几乎所有的东西都是可变的。

起步

类方法 __init_subclass__3.6whatsnew3.6) 引入,作用是可以在不使用元类的情况下改变子类的行为。也就是说它是独立于元类编程的,也能达到编辑其他类的一种手段。那么,如何来理解它呢?


Python 中负数取模问题


起步

20190924161639.png

10 % -3,python 和 js 出来的结果不一样。我试着更多语言的结果,包括php和c在内的结果都是 1:

20190924161658.png

Python 得到的结果与其他语言不一样,所以 Python 是错的?然而,这个结果当然是 Python 有意为之,所以我更愿意把它归类到 python 坑里去,Python 对于异号除法的处理和大多流行的语言不一样。


scrapy 动态为每一个请求设置延时技巧


起步

限制访问频率是有效反反爬虫的一个手段。假设每个 n 秒请求一次。恰好我有几个固定的代理 ip。如果在 spider 中设置 DOWNLOAD_TIMEOUT 会使得每个请求之间都有延时,而不是针对代理进行延时,这样就不能很好的利用代理资源。

而我希望的是可以动态的来设置请求延时,目标争取让每个代理间隔 n 秒就发一次请求。