mysql 处理 json 字段
1.查看包含json字段的表信息1234567891011121314151617181920212223242526272829mysql> desc tab_json;+-------+------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------+------------+------+-----+---------+----------------+| id | bigint(20) | NO | PRI | NULL | auto_increment || data | json | YES | | NULL | |+-------+------------+------+-----+---------+----------------+2 rows in set (0.00 sec)mysql> show ...
正则表达式
exp1(?=exp2):查找 exp2 前面的 exp1。(?<=exp2)exp1:查找 exp2 后面的 exp1。
sqlalchemy -> expire_on_commit
当 expire_on_commit=True 时,commit 之后所有实例都会过期,之后再访问这些过期实例的属性时,SQLAlchemy 会重新去数据库加载实例对应的数据记录。
1234567891011121314151617181920# SQLAlchemy 源码,非关键内容省略class Session(_SessionClassMethods): """ Manages persistence operations for ORM-mapped objects. The Session's usage paradigm is described at :doc:`/orm/session`. """ ... def __init__( self, bind=None, autoflush=True, expire_on_commit=True, ... ): "&qu ...
python—多线程之线程之间共享数据(Queue)
Queue理解从一个线程向另一个线程发送数据最安全的方式可能就是使用queue库中的队列了。创建一个被多个线程共享的Queue对象,这些线程通过使用put()和get()操作来向队列中添加或者删除元素。Queue对象已经包含了必要的锁,所以你可以通过它在多个线程间多安全地共享数据。
生产者和消费者
生产者:生产数据放到队列中消费者:从队列中获取数据生产者和消费者都可以有多个
参考链接:https://blog.csdn.net/YZL40514131/article/details/120776163
celery清除堆积的任务
在正常启动worker命令后面加上–purge
selenium输入框中输入内容再自动点击回车
123456789101112131415161718from selenium import webdriver browser = webdriver.Chrome() browser.get('https://www.google.com') # 定位输入框 input_box = browser.find_element("id", 'APjFqb') # 输入关键词:selenium input_box.send_keys('美容') # 模拟回车操作 try: input_box.submit() print('成功回车') time.sleep(10) page = browser.page_source print(page) except Exception as e: print(e) print('fail ...
python定义状态码类
12345678910111213141516171819202122232425262728293031323334353637383940414243#!/usr/bin/python3# -*- coding: utf-8 -*-# @Desc: { 项目枚举类模块 }from enum import Enumclass StatusCodeEnum(Enum): """状态码枚举类""" OK = (0, '成功') ERROR = (-1, '错误') SERVER_ERR = (500, '服务器异常') IMAGE_CODE_ERR = (4001, '图形验证码错误') THROTTLING_ERR = (4002, '访问过于频繁') NECESSARY_PARAM_ERR = (4003, '缺少必传参数') USER_E ...
selenium保存cookies并使用
import123import jsonimport timefrom selenium import webdriver
保存12345678browser = webdriver.Firefox(executable_path=r"C:\MyProgrames\geckodriver.exe") # 根据实际修改,启动自己的webdriverdef login_for_cookies(url): browser.get(url) input("登陆成功后回车以继续") cookies = browser.get_cookies() # 已经获取到了cookies with open("cookies.json", "w", encoding="utf-8") as cks: # 把cookies使用json保存 json.dump(cookies, cks)
读出123def get_cookies(): with open("c ...
在简单的python程序中直接使用sqlalchemy
database.py123456789101112from sqlalchemy import Integer, String, Columnfrom sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()class Users(Base): __tablename__ = "users" id = Column(Integer, primary_key=True) name = Column(String(64), unique=True) email = Column(String(64))
database.py1234567891011121314151617181920from sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmaker, Sessionfrom sql_app.models import Baseengine = create_engin ...
selenium远程调用浏览器(firefox版)
安装selenium浏览器服务1docker run --name firefox -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:3.141
demo12345678910111213141516171819202122from selenium import webdriverfrom selenium.webdriver import DesiredCapabilitiesdriver = webdriver.Remote( # 指定远程浏览器的地址 command_executor='http://127.0.0.1:4444/wd/hub', # 指定期望的浏览器类型,这里安装的是 firefox 所以指定firefox desired_capabilities=DesiredCapabilities.FIREFOX,)# 发送请求driver.get("https://www.baidu.com" ...