Загрузка...

Online monitoring in python

Thread in Python created by kot8005 Jul 18, 2019. 493 views

  1. kot8005
    kot8005 Topic starter Jul 18, 2019 1 May 27, 2017
    Эта программа (если такой ужас можно назвать программой) записывает в лог состояние страницы в ВК (онлайн человек или нет) с текущим временем. Не знаю, для чего я вообще это написал, просто скучно было. Если Вам будет не сложно, оцените этот код)

    Code
    from bs4 import BeautifulSoup
    import requests
    import time
    import plyer
    import datetime
    import os
    import sys

    Boolyk = True
    url = input('Введите ссылку на вк: ')
    UpdateTime = input('Введите частоту обновления (в секундах): ')
    #Convert String to integer
    UpdateTimeInt = int(UpdateTime)
    #Script name detect
    file_name = os.path.basename(sys.argv[0])
    print(file_name)
    #Current Directory Detect
    CurDir = os.path.abspath(__file__)
    LogCurDir = CurDir + 'logCheck.log'
    LogCurDirStr = str(LogCurDir)
    DirLogReplace = LogCurDirStr.replace(file_name, '')
    print('Made by pthon (vk.com/pthon)')
    while Boolyk:
    log = open(DirLogReplace, 'a+', encoding='utf-8')
    now = datetime.datetime.now()
    GetTime = now.strftime('%d-%m-%Y %H:%M:%S')
    #Html Parse
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:45.0) Gecko/20100101 Firefox/45.0'}
    page = requests.get(url, headers = headers)
    soup = BeautifulSoup(page.text, 'html.parser')
    LastOnline = soup.find('div', {'class': 'profile_time_lv'})
    UserName = soup.find('h2', {'class': 'page_name'}).string
    #Tag to str
    UserNameStr = str(UserName)
    #Check Online
    if LastOnline == None:
    #plyer.notification.notify(message='Юзер '+ UserNameStr + ' онлайн', app_name='PyCheck', title='Уведомление')
    log.write(GetTime + ' ' + 'Юзер ' + UserNameStr + ' ' + '(' + url + ')' + ' онлайн' + '\n')
    print(GetTime + ' ' + 'Пользователь ' + UserNameStr + '(' + url + ')' + ' онлайн.')
    #Print

    #Log write
    if LastOnline != None:
    LastOnline = LastOnline.text
    LastOnlineStr = str(LastOnline)
    print(GetTime + ' ' + LastOnlineStr + ' ' + UserNameStr + ' ' + url)
    log.write(GetTime + ' ' + LastOnlineStr + ' ' + UserNameStr + ' ' + url)
    log.write('\n')
    log.close()
    time.sleep(UpdateTimeInt)
     
  2. renameduser_471445
    Зачем переменная boolyk?
     
  3. kot8005
    kot8005 Topic starter Jul 18, 2019 1 May 27, 2017
    Это я реализовал бесконечный цикл
     
  4. renameduser_471445
    kot8005, а просто while True не судьба написать?
     
  5. kot8005
    kot8005 Topic starter Jul 18, 2019 1 May 27, 2017
    Я только учусь, не знал про такой способ
     
Loading...
Top