рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЗ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЦреБрд╢реА рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЦреБрдж рд╡реЛрдХрдВрдЯреНрдЯреЗ рдкрд░ рдЦреБрдж рдХреА рдкреНрд░рддрд┐рдпреЛрдВ рдХреА 10 рдкреЗрдЬ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдЙрд╕реА рд╕рдордп рдореЗрд░реЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреА рдорд┐рддреНрд░ рд╕реВрдЪреА рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдПрдХ рджреЛрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдЪрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП - рдХреГрдкрдпрд╛, рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп
- Vkontakte рдкрд░ 10 рдкреГрд╖реНрда рдмрдирд╛рдПрдВ
- рдЕрд╡рддрд╛рд░ рдХреЛ рдореБрдЦреНрдп рдкреГрд╖реНрда рд╕реЗ рдХреЙрдкреА рдХрд░реЗрдВ
- рдореБрдЦреНрдп рдкреГрд╖реНрда рд╕реЗ рд╕рднреА рдкреЛрд╕реНрдЯ рдХреЙрдкреА рдХрд░реЗрдВ
- рдореБрдЦреНрдп рдкреГрд╖реНрда рд╕реЗ рд╕рднреА рд╡реАрдбрд┐рдпреЛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ
- рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рд╕рднреА рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
- рдмреЙрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдлреНрд░реЗрдВрдбрдмрд╛рдЗрдХреНрд╕ рдХрд╛ рдкреВрд░рд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдВ (рд╣рд░ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рддрд░рд╣ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмреЙрдЯ рдХреЛ рдПрдХ рджреЛрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ)
- рджреЛрд╕реНрддреЛрдВ рдХреА рдкреВрд░реНрд╡-рд╕рдВрдХрд▓рд┐рдд рд╕реВрдЪреА рд╕реЗ 80 рд▓реЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдЬреЛрдбрд╝реЗрдВ
рдкрдВрдЬреАрдХрд░рдг
рдкреГрд╖реНрдареЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ sms-reg.com рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдПрд╕рдПрдордПрд╕ рдкреНрд░рд╛рдкреНрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ
рдпрд╣рд╛рдБ рд▓рд┐рдЦрд╛ рдЧрдпрд╛
рд╣реИ ред
рд╣рдо рд╕рднреА 10 рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо / рдкрд╛рд╕рд╡рд░реНрдб рдЦрд╛рддреЛрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЬреЗрд╕рди рдлрд╛рдЗрд▓ (рдЬрд╣рд╛рдВ рдкреЗрдЬ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдиреЗ рдХреА рдЖрдИрдбреА рд╣реИ, рдФрд░ рдЬреАрд░реЛ_рдб рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреА рдЖрдИрдбреА рд╣реИ):
{ "zero_id": "21102****", "accounts": [ { "phone": "7985002****", "password": "tTod********", "id": 53980**** }, { "phone": "7985317****", "password": "tglh********", "id": 53980**** }, ... { "phone": "7916033****", "password": "ZsRq********", "id": 54038**** } ] }
рдЕрдЬрдЧрд░ + vk_api
рдореИрдВ vk_api рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред
pip install vk_api --user
рдПрдХ рдмреЙрдЯреНрд╕рдореЗрдб рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╛рдХреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛:
import json import vk import vk_api from captcha import captcha_handler with open('accounts.json', 'r') as file: data = json.loads(file.read()) accounts = data['accounts'] zero_id = int(data['zero_id']) vk_apis = [] def init_apis(): current_id = 0 for account in accounts: vk_session = vk_api.VkApi(account['phone'], account['password'], captcha_handler=captcha_handler) vk_session.auth() vk_apis.append(vk_session.get_api()) print('account', current_id, 'successfully inited') current_id += 1 init_apis()
рдпрд╣ рдЦрд╛рддреЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИред Json рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЦрд╛рддреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред
рдЕрд╡рддрд╛рд░ рдХреА рдирдХрд▓ рдХрд░реЗрдВ
def change_photo(vk): upload_url = vk.photos.getOwnerPhotoUploadServer()['upload_url'] answer = json.loads(requests.post(upload_url, files={'photo': open('avatar.jpg', 'rb')}).text) vk.photos.saveOwnerPhoto(photo=answer['photo'], server=answer['server'], hash=answer['hash']) counter = 0 for vk in vk_apis: change_photo(vk) print(counter, 'done') counter += 1
рд╡реАрдбрд┐рдпреЛ рдХреА рдирдХрд▓
videos = default_vk.video.get(owner_id=zero_id, count=100) counter = 0 for vk in vk_apis: for video in videos['items']: vk.video.add(video_id=video['id'], owner_id=video['owner_id'])
рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛
from time import sleep from bots import vk_apis, zero_id, accounts, default_vk groups = default_vk.groups.get(user_id=zero_id, count=100) counter = 0 for vk in vk_apis: for group in groups['items']: print('add to', group) vk.groups.join(group_id=group) print(counter) counter += 1
рджреЛрд╕реНрддреЛрдВ рдХрд╛ рдкреВрд░рд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдВ

counter = 0 for vk, account in zip(vk_apis, accounts): for friend in accounts: if friend['id'] == account['id']: continue vk.friends.add(user_id=friend['id'], captcha_handler=captcha_handler) print(counter, friend['id'], account['id']) counter += 1 sleep(1)
рдПрдХ рдкреВрд░реНрдг рдкрд╕рдВрдж рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдБ
counter = 0 for vk, account in zip(vk_apis, accounts): for friend in accounts: if friend['id'] != account['id']: continue print(counter, friend['id'], account['id']) for post in vk.wall.get(owner_id=friend['id'])['items']: flag = True while flag: try:
рдорд┐рддреНрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВ
рдПрдХ рдорд┐рддреНрд░ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
id_ #_ ( )
VKontakte рдЖрдкрдХреЛ рдПрдХ рджрд┐рди рдореЗрдВ рд▓рдЧрднрдЧ 80 рд▓реЛрдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
friends_str = '' with open('friends', 'r') as file: friends_str = file.read() friends = [{'id': x.split(' #')[0], 'name': x.split(' #')[1]} for x in friends_str.split('\n')] ids_ = ([x['id'] for x in (default_vk.users.get(user_ids=[x['id'] for x in friends]))]) for friend, id_ in zip(friends, ids_): print(friend['name']) print(friend) for vk in vk_apis: flag = True while flag: try: vk.friends.add(user_id=int(id_)) flag = False except: print('error') sleep(10)
рдХреИрдкреНрдЪрд╛ рдмрд╛рдИрдкрд╛рд╕
рдЪреМрдХрд╕ рдкрд╛рдардХ рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рдЗрди рджреЗрдЦ рдЪреБрдХрд╛ рд╣реИ
from captcha import captcha_handler
рдЪреВрдВрдХрд┐ Vkontakte рд╣рдореЗрд╢рд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХреИрдкреНрдЪрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕реА рдмрд╣реБрдд рд╕реА рд╕реЗрд╡рд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рдЖрдкрдХреЛ рдмрд╕ base64 рдореЗрдВ рдХреИрдкреНрдЪрд╛ рдХреЗ рд╕рд╛рде рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

def uncapcha(url): imager = requests.get(url) r = requests.post('http://rucaptcha.com/in.php', data = {'method': 'base64', 'key': RUCAPTCHA_KEY, 'body': base64.b64encode(imager.content)}) if (r.text[:3] != 'OK|'): print('captcha failed') return -1 capid = r.text[3:] sleep(5) capanswer = requests.post('http://rucaptcha.com/res.php', data = {'key': RUCAPTCHA_KEY, 'id':capid, 'action':'get'}).text if (capanswer[:3] != 'OK|'): print('captcha failed') return -1 return capanswer[3:]
рдкрд░рд┐рдгрд╛рдо
рдпрд╣рд╛рдБ рдХреБрдЫ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдиреЗ рдореБрдЭреЗ рднреЗрдЬреЗ
рдЫрд┐рдкрд╛ рд╣реБрдЖ рдкрд╛рда GitHubрдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдЦреБрд▓рд╛ рд░рд╣рддрд╛ рд╣реИ - рдореИрдВрдиреЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рдореБрдЭреЗ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред