python: 37 items found.

对比Playwright、Selenium和Puppeteer

Playwright、Selenium 和 Puppeteer 是三种流行的网络自动化框架,它们的功能和用途各不相同。

优缺点:

Playwright:

  • 优点: 多浏览器支持、无头模式、移动设备模拟、网络请求拦截、内置调试器。
  • 缺点: 仅支持 Node.js,API 复杂。

Selenium:

  • 优点: 广泛的浏览器支持、外部调试选项、与多种编程语言兼容。
  • **缺点:**需要额外的驱动程序安装、速度较慢,特别是对于无头模式。

Puppeteer:

  • 优点: Chromium 的高性能和稳定性、基于 DevTools 的调试选项。
  • 缺点: 浏览器支持有限、缺乏移动设备模拟、不适用于网络请求拦截。
More ~

使用python的pdb命令调试

python的pdb可以进行断点调试,这个在没有IDE工具时会很方便。
启用pdb调试:python3 -m pdb myscript.py

加入断点b myscript.py:130,即在mysript.py的130行加入断点。
常用的pdb命令:
n即运行到下一行
c继续运行到下一个断点
cl myscript.py:130 清除这行断点
p var打印var变量值

更多可以参考 https://docs.python.org/zh-cn/3/library/pdb.html#pdbcommand-list

More ~

python利用多进制转换生成唯一ID

为了简化URL路径或是生成唯一的文章ID,在不考虑分布式情况下,想到这个思路:将时间以毫秒 转换成多进制,缩短位数。
其中可以加入随机数来减少或避免重复。多进制可以用到0-9,a-z, A-Z 这些数字,小写字母,大写字母,共计62个字符。

More ~

使用flask-babel实现flask应用国际化

安装 Flask-Babel

Flask-Babel 是 Flask 的翻译扩展工具。安装命令如下:

pip install flask-babel

安装它的时候会顺便安装 Babelpytzspeaklater 这三个包,其中 Babel 是 Python 的一个国际化工具包。pytz 是处理时区的工具包,speaklater 相当于是 Babel 的一个辅助工具。

More ~

Get alphabet range in python

如题,如果获取字母列表,有没有类似用 range('a', 'z') 这种方法呢?

alpha = ['a', 'b', 'c', 'd'.........'z']

实际上,range不能,但string可以直接取出。

More ~

Draw transparent text on an image with python Pillow

Using tuple to set transparent color:

Examples:

from PIL import Image, ImageDraw, ImageFont

image = Image.open("spongebob.gif").convert("RGBA")
txt = Image.new('RGBA', image.size, (255,255,255,0))

font = ImageFont.truetype("impact.ttf", 25)
d = ImageDraw.Draw(txt)    

d.text((0, 0), "This text should be 5% alpha", fill=(0, 0, 0, 15), font=font)
combined = Image.alpha_composite(image, txt)    

combined.save("foo.gif")

Reference: https://pillow.readthedocs.io/en/4.2.x/reference/ImageDraw.html#example-draw-partial-opacity-text

More ~