peewee创建连接前的前置操作wireshark抓包实现

 更新时间:2023年10月19日 11:48:27   作者:ponponon  
这篇文章主要为大家介绍了peewee创建连接前的前置操作wireshark 抓包实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

抓包

from core.mysql.models import ParseMonitoringDetail
from peewee import fn
from loguru import logger
group_by_parser_name: bool = True
group_by_error_class_name: bool = True
group_by_track_source_id: bool = True
query = (ParseMonitoringDetail
         .select(
             ParseMonitoringDetail.parser_name,
             ParseMonitoringDetail.error_class_name,
             ParseMonitoringDetail.track_source_id,
             fn.COUNT("*").alias('task_count')
         )
         .where(ParseMonitoringDetail.success == False)
         .order_by(fn.COUNT("*").alias('task_count').desc()))
if group_by_parser_name:
    query = query.group_by(
        ParseMonitoringDetail.parser_name,
    )
if group_by_error_class_name:
    query = query.group_by(
        ParseMonitoringDetail.error_class_name,
    )
if group_by_track_source_id:
    query = query.group_by(
        ParseMonitoringDetail.track_source_id
    )
logger.debug(f'sql: {str(query)}')
result = query.dicts().execute()
result = list(result)
logger.debug(result)

对应用户sql

执行上面的代码,对应用户的 sql 只有一个

SELECT
    `t1`.`parser_name`,
    `t1`.`error_class_name`,
    `t1`.`track_source_id`,
    COUNT('*') AS `task_count`
FROM
    `parse_monitoring_detail` AS `t1`
WHERE
    (`t1`.`success` = 0)
GROUP BY
    `t1`.`track_source_id`
ORDER BY
    `task_count` DESC

但是从 wireshark 抓包可以看到有多个 Request Query

192.168.26.31 是客户端
192.168.38.223 是 Mysql server

Request Query 究竟是啥呢?

第一个 Request Query

SET NAMES utf8mb4

第二个 Request Query

SET sql_mode='PIPES_AS_CONCAT'

第三个 Request Query

SELECT
    `t1`.`parser_name`,
    `t1`.`error_class_name`,
    `t1`.`track_source_id`,
    COUNT('*') AS `task_count`
FROM
    `parse_monitoring_detail` AS `t1`
WHERE
    (`t1`.`success` = 0)
GROUP BY
    `t1`.`track_source_id`
ORDER BY
    `task_count` DESC

以上就是peewee创建连接前的前置操作wireshark 抓包实现的详细内容,更多关于peewee连接前wireshark抓包的资料请关注脚本之家其它相关文章!

相关文章

  • python批量处理打开多个文件

    python批量处理打开多个文件

    这篇文章主要介绍了python批量处理打开多个文件,文章围绕主题的相关内容展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • 解决在pycharm中显示额外的 figure 窗口问题

    解决在pycharm中显示额外的 figure 窗口问题

    今天小编就为大家分享一篇解决在pycharm中显示额外的 figure 窗口问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python tornado使用流生成图片的例子

    python tornado使用流生成图片的例子

    今天小编就为大家分享一篇python tornado使用流生成图片的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Pytorch如何指定device(cuda or cpu)

    Pytorch如何指定device(cuda or cpu)

    这篇文章主要介绍了Pytorch如何指定device(cuda or cpu)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 通过Python 接口使用OpenCV的方法

    通过Python 接口使用OpenCV的方法

    下面小编就为大家分享一篇通过Python 接口使用OpenCV的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Django框架验证码用法实例分析

    Django框架验证码用法实例分析

    这篇文章主要介绍了Django框架验证码用法,结合实例形式分析了Python Django框架验证码的功能、实现方法及相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • python使用pandas抽样训练数据中某个类别实例

    python使用pandas抽样训练数据中某个类别实例

    今天小编就为大家分享一篇python使用pandas抽样训练数据中某个类别实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 在Pycharm中调试Django项目程序的操作方法

    在Pycharm中调试Django项目程序的操作方法

    今天小编就为大家分享一篇在Pycharm中调试Django项目程序的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 教你如何使用Python selenium

    教你如何使用Python selenium

    今天教大家如何使用Python selenium,本文会以艺龙旅游网为对象,进行selenium的学习,目的:爬取艺龙网中南阳市唐河县的酒店信息,包括:名字,电话,标间价格,地址,介绍,图片,需要的朋友可以参考下
    2021-06-06
  • django 使用 request 获取浏览器发送的参数示例代码

    django 使用 request 获取浏览器发送的参数示例代码

    这篇文章主要介绍了django 使用 request 获取浏览器发送的参数示例代码,获取数据有四种方式,具体内容详情大家跟随脚本之家小编一起看看吧
    2018-06-06

最新评论