Как в db найти 10 наиболее часто встречающихся ip-адресов?

Есть архив с логами access_log.db

В этой таблице записи по посещениям веб-ресурса за несколько месяцев. Ресурс посещают как люди, так и роботы.

Описание объектов базы:

# File: db.py

from sqlalchemy import Column, DateTime, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class LogEntry(Base):
    __tablename__ = "logs"
    uid = Column(Integer, primary_key=True)
    ip_addr = Column(String(16))
    timestamp = Column(DateTime)

    def __init__(self, ip_addr, timestamp):
        self.ip_addr = ip_addr
        self.timestamp = timestamp

    def __str__(self):
        return "'%s' on %s" % (self.ip_addr, self.timestamp)


И есть задача - найти сколько запросов в базе с адреса 109.234.35.42?

Есть такой вариант
@route("/api/getIP")
def getIP():
    result = s.query(LogEntry).filter(LogEntry.ip_addr == '109.234.35.42').all()
    print(len(result))
    return "Ok"


Но как это вызвать в консоли win? При запуске python.py просто запускается сервер.

репозиторий clck.ru/MiCki
  • Вопрос задан
  • 288 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы