1.passlib (https://passlib.readthedocs.io/en/stable/)

passlib

目前常见的不可逆加密算法有以下几种:

  • 一次MD5(使用率很高)
  • 将密码与一个随机串进行一次MD5
  • 两次MD5,使用一个随机字符串与密码的md5值再进行一次md5,使用很广泛
  • PBKDF2算法
  • bcrypt
  • 其它加密算法

passlib是python 2&3的密码散列库,它提供 超过30种密码散列算法的跨平台实现,以及 作为管理现有密码哈希的框架。它被设计成有用的 对于范围广泛的任务,从验证/etc/shadow中找到的散列到 为多用户应用程序提供全强度密码哈希。

示例:

from passlib.apps import custom_app_context

# 生成加密串
pwd = '123456'
hash_str = custom_app_context.encrypt(pwd)
print(hash_str) # 验证密码
custom_app_context.verify(pwd, self.password_hash)

2.消息队列rq (https://github.com/rq/rq)

RQ (Redis Queue)是一个简单的 Python 库,用于排队作业,并在后台使用 workers 处理作业。它得到了 Redis 的支持,而且其设计的进入门槛很低。它可以很容易地集成到你的 web 堆栈中。

安装:

pip install rq

使用示例:

jobs.py

import requests

def count_words(url):
return len(requests.get(url).text) app.py import time from redis import Redis
from rq import Queue
from jobs import count_words def run():
rq = Queue('default', connection=Redis())
for i in range(100):
j = rq.enqueue(count_words, 'http://nvie.com')
print('1 ', j.result)
time.sleep(1)
print('2 ', j.result) if __name__ == '__main__':
run()

  启动worker:

rq worker --with-scheduler

$ rq worker low high default
16:56:02 RQ worker 'rq:worker:s2.6443' started, version 0.8.1
16:56:02 Cleaning registries for queue: low
16:56:02 Cleaning registries for queue: high
16:56:02 Cleaning registries for queue: default

后面的三个参数low、high、default,就是这个Worker将要运行哪些Queue里面的Job,这个顺序很重要,排在前面的Queue里面的Job将优先被运行。

  添加任务:

python app.py

同时还支持调度任务

# Schedule job to run at 9:15, October 10th
job = queue.enqueue_at(datetime(2019, 10, 8, 9, 15), say_hello) # Schedule job to be run in 10 seconds
job = queue.enqueue_in(timedelta(seconds=10), say_hello)

失败回调, 重试次数

from rq import Retry

# Retry up to 3 times, failed job will be requeued immediately
queue.enqueue(say_hello, retry=Retry(max=3)) # Retry up to 3 times, with configurable intervals between retries
queue.enqueue(say_hello, retry=Retry(max=3, interval=[10, 30, 60]))

3.远程隧道链接

sshtunnel

4.代理UA

pip install fake_useragent

import requests
from fake_useragent import UserAgent def get_mafengwo_content():
# 创建UserAgent对象
user_agent = UserAgent() # 设置请求头
headers = {
'User-Agent': user_agent.random
} # 目标网址
url = 'https://www.mafengwo.cn/' try:
# 发送GET请求
response = requests.get(url, headers=headers)
http://www.jshk.com.cn/mb/reg.asp?kefu=xiaoding;//爬虫IP免费获取; # 检查请求是否成功
if response.status_code == 200:
# 打印网页内容
print(response.text)
else:
print(f"Failed to fetch the page. Status code: {response.status_code}") except Exception as e:
print(f"An error occurred: {e}") if __name__ == "__main__":
get_mafengwo_content()

python之常用开发包的更多相关文章

  1. Python在ubuntu下常用开发包名称

    build-essential python3-setuptools python-setuptools-doc python3-all-dev python3-wheelwheel时pip支持的一种 ...

  2. Python开发包推荐系列之xml、html解析器PyQuery

    使用python,喜欢她的简洁是一方面,另外就是它有着丰富的开发包 好用又方便 接下来会给大家推荐一系列很赞的开发包. 在解析html.xml过程中,我们有不少的包可以用.比如bs.lxml.xmlt ...

  3. click python cli 开发包

    python click 包是一个方便的cli 开发包,我们可以用来开发强大的cli 应用 使用venv 进行环境准备,示例代码来自官方 venv 环境准备 python3 -m venv demoa ...

  4. [Python Day5] 常用模块

    目录: 1.模块介绍 2.time & datetime 3.random 4.OS 5.sys 6.shutil 7.json & pickle 8.shelve 9.xml 处理 ...

  5. Python第三方常用工具、库、框架等

    Python ImagingLibrary(PIL):它提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换.打印和显示.还能进行一些图形效果的处理,如图形的放大.缩小和旋 ...

  6. SVG开发包, 20 个有用的 SVG 工具,提供更好的图像处理

    20 个有用的 SVG 工具,提供更好的图像处理 SVG 现正在 Web 设计领域变得越发流行, 你可以使用 Illustrator 或者 Inkscape 来创建 SVG 图像. 但当进行 Web ...

  7. Python的常用库

    读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们是: Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都 ...

  8. 我用的一些Node.js开发工具、开发包、框架等总结

    开发工具 1.WebStorm,毫无疑问非他莫属,跨平台,强大的代码提示,支持Nodejs调试,此外还支持vi编辑模式,这点我很喜欢. 2.做些小型项目用Sublime Text. 3.Browser ...

  9. VB短信猫开发包,支持超长短信

    一.短信猫开发包(长短信/异步调用)说明:   短信猫开发包以OCX控件的形式提供,支持Windows平台下常用的开发工具:如VB.VB.net.VC++.Power Builder.C#.DELPH ...

  10. Node.js开发工具、开发包、框架等总结

    开发工具 1.WebStorm,毫无疑问非他莫属,跨平台,强大的代码提示,支持Nodejs调试,此外还支持vi编辑模式,这点我很喜欢.2.做些小型项目用Sublime Text.3.Browserif ...

随机推荐

  1. [Udemy] AWS Certified Data Analytics Specialty - 5.Visualization

    QuickSight SPICE是 QuickSight 的加速技术

  2. 【赵渝强老师】HBase的体系架构

    一.什么是HBase? HBase是一个基于HDFS之上的分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"BigTable大表",即:把所 ...

  3. 利用cv2.morphologyEx提取图像边界

    cv2.morphologyEx(image, cv2.MORPH_GRADIENT, SE)可以参考这篇博客cv2.MORPH_GRADIENT:形态学梯度(morph-grad),可以突出团块(b ...

  4. Java日期时间API系列18-----Jdk8中java.time包中的新的日期时间API类,java日期计算5,其他常用日期计算,星期计算,闰年计算等

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析中可以看出,java8中的方法特别丰富,一些常用的计算如星期计算,闰年计算等 ...

  5. 优质技术文章分享 | 首届【MogDB数据库征文活动】进行中,期待您的参与

    2022年6月30日,MogDB 3.0版本正式发布,基于2.1版本进一步增强,集成了openGauss 3.0.0版本的新增特性,并融合了云和恩墨的创新特性研发,持续助力用户达成安稳易用的企业级数据 ...

  6. iOS中修饰符常用小结

    1.copy,是复制引用对象地址的深拷贝 a:当修饰不可变类型的属性时,如NSArray.NSDictionary.NSString,用copy,用copy为关键字的话,调用setter方法后.是对赋 ...

  7. DOM 的事件流

    事件流分为三个阶段:捕获 ==>目标 ==>冒泡 1. 事件捕获阶段:事件传播由目标节点的祖先节点逐级传播到目标节点.先由文档的根 节点 document(window)开始触发对象,最后 ...

  8. CSharp的@microsoft/signalr实时通信教程 - 前端 vue

    1. 安装@microsoft/signalr pnpm install @microsoft/signalr --save signalr 是微软对 websocket技术的封装,优化了操作 :1. ...

  9. 何为ORM框架?和ADO.NET 对比

    百度:ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中.简单理解为一种框架的格式 . 只 ...

  10. Python之py9-录音自动下载

    #!/usr/bin/env python # -*- coding:utf-8 -*- import os import re import pandas as pd import numpy as ...