Python技术分享

深入浅出学习Python

前言:

  • 在我们使用爬虫登录账号中常常会遇到各种验证码,如:图片验证码、滑块验证……
  • 其中滑块验证码又分有缺口滑块验证码和无缺口滑块验证码,无缺口滑块验证码只需要用户使用鼠标将滑块从左侧拖动到右侧即可。程序通过记录用户拖动滑块的轨迹,这一串的轨迹数据采用模式识别的手段就可以判断出这是否是真人在操作。
  • 滑块验证通常需要使滑块按照正常的加速度进行拖动,停靠在一个合适的位置,在使用 Selenium 时通常需要设置一个合适的滑动加速度来使自己伪装的更像人类用户而不是计算机。
  • 那么如何使用 Selenium 模拟这一过程呢?
阅读全文 »

前言:

  • 大家都知道,Python 是一种脚本语言,也就是解释型的语言,需要解释器来进行解释以后才可以执行,而 Python 源代码需要在 Python 虚拟机上面运行,但是我们做好的程序,不可能给用户使用的时候还让他安装一个 Python 环境,所以今天我们讲解如何将 Python 程序打包为 exe 可执行文件。
  • PyInstaller 是一个非常流行的第三方工具,它可以将 Python 程序打包成独立的可执行文件,使得程序能够在没有安装Python 解释器的环境中运行。这对于分发 Python 应用程序来说非常有用,因为用户不需要关心如何安装 Python 环境和依赖包。
阅读全文 »

缘由

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。例如:

1
2
3
<div id="example">
{{ message.split('').reverse().join('') }}
</div>

在这个地方,模板不再是简单的声明式逻辑。你必须看一段时间才能意识到,这里是想要显示变量 message 的翻转字符串。当你想要在模板中多包含此处的翻转字符串时,就会更加难以处理。

所以,对于任何复杂逻辑,你都应当使用计算属性

阅读全文 »

介绍

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

阅读全文 »

Tkinter

Python提供了多个图形开发界面的库

  • Tkinter

    Tkinter模块(“Tk接口”)是Python的标准Tk GUI工具包的接口。Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中。

  • wxPython

    wxPython是一款开源软件,是Python语言的一套优秀的GUI图形库,允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。

  • Jython

    Jython程序可以和Java无缝集成。除了一些标准模块,Jython使用Java的模块。Jython几乎拥有标准的Python中不依赖于C语言的全部模块。比如,Jython的用户界面将使用Swing,AWT或者SWT。Jython可以被动态或静态地编译成Java字节码。

阅读全文 »

同步与异步

同步

  • 按部就班的依次执行

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import time


    # 一个客户单的请求
    def reqA():
    print("开始处理reqA")
    print("结束处理reqA")


    # 另一个客户端的请求
    def reqB():
    print("开始处理reqB")
    print("结束处理reqB")


    # tornado服务
    def main():
    reqA()
    reqB()
    while 1:
    time.sleep(0.5)
    pass


    if __name__ == "__main__":
    main()

阅读全文 »

普通Cookie

  • 设置

    • 原型

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      self.set_cookie(
      self,
      name: str,
      value: Union[str, bytes],
      domain: str = None,
      expires: Union[float, Tuple, datetime.datetime] = None,
      path: str = "/",
      expires_days: int = None,
      **kwargs: Any
      )
    阅读全文 »

整理基础工程

目录层级

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
project                 # 工程总目录
ORM # 对象关系映射目录
__init__.py # 包文件
orm.py # 数据库处理文件
sunckMysql.py # 数据库处理文件
static # 静态文件目录
css # css文件目录
html # 静态页面目录
index.html # 首页文件
img # 图片文件目录
js # js文件目录
templates # 模板文件目录
upfile # 上传文件目录
views # 视图文件目录
__init__.py # 包文件
index.py # 视图文件
application.py # 路由文件
config.py # 配置文件
models.py # 数据模型文件
server.py # 服务文件

以后写新项目直接拷贝基础工程即可!

阅读全文 »

初识Tornado

什么是Tornado

全称Tornado Web Server,是一种Web服务器软件的开源版本。

特点

  • 作为Web框架,是一个轻量级的Web框架,类似于另一个Python web框架Web.py,其拥有异步非阻塞IO的处理方式
  • 作为Web服务器,Tornado有较为出色的抗负载能力,官方用nginx反向代理的方式部Tornado和其它Python web应用框架进行对比,结果最大浏览量超过第二名近40%
阅读全文 »
0%