Tele2: Парсинг баланса и интернет трафика.
Скрапим инфу по трафику из личного кабинета Теле2.
Необходимы библиотеки:
- selenium
- time
- datetime
- re
- lxml
- pyodbc
import time
import pyodbc
import datetime
import re
from time import sleep
from lxml import html, etree
from selenium import webdriver
from selenium.webdriver.common import action_chains, keys
dt = datetime.datetime.now()
dtLogs = str(dt)
number = 'номер телефона'
passw = 'пароль'
driver = webdriver.Chrome('.\chrome_new\chromedriver')
try:
driver.get('https://login.tele2.ru/ssotele2/wap/auth')
time.sleep(5)
except:
with open('logs.txt', 'at') as file:
file.write(dtLogs + ' - Ошибка загрузки сайта: ' + number + '\n')
#Входим в личный кабинет
try:
list = driver.find_element_by_css_selector('[data-tab="w-password"]')
list.click()
time.sleep(1)
username = driver.find_element_by_id("phone-password")
username.click()
time.sleep(1)
username.send_keys(number)
password = driver.find_element_by_id("password-field")
password.click()
time.sleep(1)
password.send_keys(passw)
submit = driver.find_element_by_css_selector('[class="confrim-btn"]')
submit.click()
time.sleep(5)
driver.get('https://msk.tele2.ru/lk')
time.sleep(10)
except:
with open('logs.txt', 'at') as file:
file.write(dtLogs + ' - Ошибка авторизации на номере: ' + number + '\n')
#Ищем остаток трафика
try:
traff_Gb = driver.find_element_by_xpath('//div[@class="balance-rate"]/div/div[2]').find_element_by_xpath('.//span[@class="number"]/span').text
traff_Gb = re.sub(',', '.', traff_Gb)
traff_Gb = float(traff_Gb)
print(traff_Gb)
print(type(traff_Gb))
time.sleep(1)
except:
with open('logs.txt', 'at') as file:
file.write(dtLogs + ' - Ошибка считывания трафика: ' + number + '\n')
#Добываем баланс
try:
balance = driver.find_element_by_xpath('//div[@class="lk-main-content balance-content"]').find_element_by_xpath('.//span[@class="number"]/span').text
balance = re.sub(',', '.', balance)
balance = re.sub(' ', '', balance)
balance = float(balance)
print(balance)
print(type(balance))
time.sleep(1)
except:
with open('logs.txt', 'at') as file:
file.write(dtLogs + ' - Ошибка считывания баланса: ' + number + '\n')
driver.quit()
# #Записываем данные в БД
# try:
# cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
# "Server=0.0.0.0;"
# "Database=admin;"
# "Trusted_Connection=yes;"
# "UID=table;"
# "PWD=0000;")
# cursor = cnxn.cursor()
# cursor.execute('INSERT INTO tele2_balance (dt, number, traff_Gb, balance) VALUES (?, ?, ?, ?)', (dt, number1, traff_Gb1, balance1))
# cursor.commit()
# except:
# with open('logs.txt', 'at') as file:
# file.write(dtLogs + ' - Ошибка записи в БД: ' + number + '\n')
Похожие публикации
Ростелеком: Получение баланса и интернет трафика.
Linux: проверка температуры
Нет комментариев