рдЯреЙрд░реЗрдВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛

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


рдХреНрдпрд╛ рдХрд░реЗрдВ?


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

рдореБрдЭреЗ рдЕрдЬрдЧрд░ рдмрд╣реБрдд рдкрд╕рдВрдж рдЖрдпрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреБрдЫ "рд╕рд╣рдЬрддрд╛" рджреЗрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдкрд╛рдпрдерди рд░реАрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдорд╛рд░реНрдХ рд▓реБрдЯреНрдЬрд╝ рдХреА рдХрд┐рддрд╛рдм рд▓рд░реНрдирд┐рдВрдЧ рдкрд╛рдЗрдерди (рдЪрддреБрд░реНрде рд╕рдВрд╕реНрдХрд░рдг) рдХреЛ рдЪреБрдирд╛ред рдЦреИрд░, рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ, рдХрд┐рддрд╛рдм рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рд╣реИ, рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!

рд╕рдорд╕реНрдпрд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд┐рд╡рд░рдг


рддреЛ, рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдзрд╛рд░ рдлрд╝рд╛рдЗрд▓ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, uTorrent 2.2 рдХрд╛ рдорддрд▓рдм рд╣реИ) рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдореИрдВ рдЖ рд╕рдХрддрд╛ рдерд╛, рд╡рд╣ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдзрд╛рд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реЗ рдХрд░рдиреЗ рдХреА рдереАред рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдЧрддрд┐ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рд╢реВрдиреНрдп рдерд╛: рд╕реМ рдкреГрд╖реНрдареЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реБрдП, рдЕрд░реНрдерд╛рддреН рдЯреНрд░реИрдХрд░ рдкрд░ рд╡рд┐рддрд░рдг рдХреА рдРрд╕реА рд╕реАрдорд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреАрди рдорд┐рдирдЯ рд▓рдЧ рдЧрдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреЗрдЬ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рдг рдХреЗ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдФрд░ рдЗрд╕рдореЗрдВ рднреА рдмрд╣реБрдд рд╕рдордп рд▓рдЧрд╛ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдЖрдпрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦреАред

рдЬрд▓реНрдж рд╣реА, рдмрд╣реБрдд рд╡рд┐рдЪрд╛рд░-рд╡рд┐рдорд░реНрд╢ рдФрд░ рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЬреИрд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирд╛ред рд╕реНрдХреНрд░реЗрдк, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХрд╣рддрд╛ рд╣реИ, рдЯреНрд░реИрдХрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреНрд░рд╛рд╣рдХ рдЕрдиреБрд░реЛрдз рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯреНрд░реИрдХрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╡рд┐рддрд░рдг рдкрд░ рдХреБрд▓ рдмреАрдЬ рдФрд░ рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрддрд╛рддрд╛ рд╣реИред рдПрдХ рд╕реНрдХреНрд░реИрдк рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рддрд░рдг рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдХреНрд░реИрдк-рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдЧреНрд░рд╛рд╣рдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рдгрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдЯреНрд░реИрдХрд░ рдЗрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░рд╛ рдЯреНрд░реИрдХрд░ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣реЗрдбрд░ рдХреЗ рд╕рд╛рде GET рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрдХреНрд░реИрдк рдЕрдиреБрд░реЛрдз рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд╛ рдкрддрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрддрд╛ рд╣реИ:
htt://example.com/scrape.php?info_hash=aaaaaaaaaaaaaaaaaaaa

рд╣реИрд╢ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реИ, рдЗрд╕рдореЗрдВ 20 рд╡рд░реНрдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .torrent рдФрд░ settings.dat рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рдлрд╛рдЗрд▓, bencode рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИред рдЕрдЧрд░ рдЖрдкрдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдореЗрдВ рдЬрд▓реНрджреА рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд╛рдЗрд▓ рдХреЛ рдбреАрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдЕрдЬрдЧрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдлрд╛рдЗрд▓ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ:

 # -*- coding: utf-8 -*- import urllib2 from urllib import urlencode from binascii import b2a_hex as bta, a2b_hex as atb from os import remove from shutil import move from lxml.html import document_fromstring as doc from bencode import bdecode, bencode from httplib2 Http http = Http() username = 'username' password = 'password' ut_port = '12345' #  web-  uTorrent'. ut_username = 'utusername' ut_password = 'utpassword' site = 'http://example.com/' scrape_body = site + 'scrape.php?info_hash=' # URL scrape-. login_url = site + 'takelogin.php' torrent_body = site + 'download.php?id={0}&name={0}.torrent' announce = site + 'announce.php?' # URL  . webui_url = 'http://127.0.0.1:{0}/gui/'.format(ut_port) webui_token = webui_url + 'token.html' #   .torrent .    settings.dat,  dir_torrent_files. torrent_path = 'c:/utorrent/torrent/' #      . autoload_path = 'c:/utorrent/autoload/' #     uTorrent'a (   resume.dat) sys_torrent_path = 'c:/users/myname/appdata/utorrent/' def authentication(username, password): data = {'username': username, 'password': password} headers = {'Content-type': 'application/x-www-form-urlencoded', 'User-agent':'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.6'} resp, login = http.request(login_url, 'POST', headers=headers, body=urlencode(data)) #   ,    cookiekeys = ['uid', 'pass', 'PHPSESSID', 'pass_hash', 'session_id'] split_resp = resp['set-cookie'].split(' ') lst = [] #          . for split_res in split_resp: if split_res.split('=')[0] in cookiekeys: lst.append(split_res) cookie = ' '.join(lst) return {'Cookie': cookie} def torrentDict(torr_path): #torr_path    -   resume.dat . Dict = {} with open(u'{0}resume.dat'.format(torr_path), 'rb') as resume: t = bdecode(resume.read()) for name in t: if name != '.fileguard' and name != 'rec': for tracker in t[name]['trackers']: if isinstance(tracker, str) and tracker.startswith(announce): Dict[name.split('\\')[-1]] = bta(t[name]['info']) return Dict 

рдЕрдм рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рдирд╛рдо рдФрд░ рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рд╣реИред рдЕрдм рд╣рдореЗрдВ рдмрд╕ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реИрд╢ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реИрдк рдЕрдиреБрд░реЛрдз рднреЗрдЬрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЯреНрд░реИрдХрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣реИрд╢ рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рдг рд╣реИ рдпрд╛ рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЖрдкрдХреЛ рдРрд╕рд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдХреА рдУрд░ рд╕реЗ, рдЕрдиреНрдпрдерд╛ рдЯреНрд░реИрдХрд░ рдкрд╣реБрдВрдЪ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрдЧрд╛ред

 uthead = {'User-Agent':'uTorrent/2210(21304)'} #   uTorrent'. main_dict = torrentDict(sys_torrent_path) for key in main_dict: lst = [] for i in range(0, len(main_dict[key]), 2): lst.append('%{0}'.format(main_dict[key][i:i+2].upper())) scrp_str = ''.join(lst) # ,     . resp, scrp = http.request('{0}{1}'.format(scrape_body, scrp_str), 'GET', headers=uthead) 


рдПрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
d5:filesd20: aaaaaaaaaaaaaaaaaaaa d8:completei 5 e10:downloadedi 50 e10:incompletei 10 eeee
20 рдЕрдХреНрд╖рд░ "рдП" рд╡рд┐рддрд░рдг рдХрд╛ рд╣реИрд╢ рд╣реИ, 5 - рд╕рд╛рдЗрдбрд░реНрд╕, 10 - рд▓реАрдХрд░реНрд╕ рдФрд░ 50 рд╕рдорд╛рдкреНрдд рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ рд╣реИред
рдпрджрд┐ рд╡рд┐рддрд░рдг рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлреЙрд░реНрдо рд▓реЗрддреА рд╣реИ:
d5:filesdee

рдЕрдиреБрд░реЛрдз рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмреЗрдирдХреЛрдб рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рднреА рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЗрд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдХреЗрд╡рд▓ рдкреНрд░рд╛рдкреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд┐рдП рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЯреНрд░реИрдХрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╣реИрд╢ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╡рд┐рддрд░рдг рдирд╣реАрдВ рд╣реИред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдЯреНрд░реИрдХрд░ рд╕реЗ рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓реЗрдВ рдФрд░ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдЯреЛрд░реЗрдВрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред
рдЯреНрд░реИрдХрд░ рдХреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ: рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдлрд╝рдВрдХреНрд╢рди рдХреЛ "рдкреНрд░рдорд╛рдгреАрдХрд░рдг" рд╢реАрд░реНрд╖рдХ рдХреЗ рддрд╣рдд рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рд╣рдо рд▓реЙрдЧ рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЯреЛрд░реЗрдВрдЯ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдкреБрд░рд╛рдиреА .torrent рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред

  #        "for key in Dict:". with open('{0}{1}'.format(torrent_path, key), 'rb') as torrent_file: torrent = bdecode(torrent_file.read()) t_id = torrent['comment'][36:] #        . brhead = authentication(username, password) resp, torrent = http.request(torrent_body.format(t_id), headers=brhead) with open('{0}.torrent'.format(t_id),'wb') as torrent_file: torrent_file.write(torrent) #   .torrent       . remove('{0}{1}'.format(torrent_path, key)) move('{0}.torrent'.format(t_id), '{0}{1}.torrent'.format(autoload_path, t_id)) #     .   . authkey, token = uTWebUI(ut_username, ut_password) webuiActions(main_dict[key], 'remove', authkey, token) 


рддрд╛рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рди рд╣реЛрдиреЗ рд╡рд╛рд▓реА .torrent рдлрд╝рд╛рдЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдЕрдкрдиреЗ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рднреНрд░рдорд┐рдд рди рдХрд░реЗ, рдЗрд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди uTorrent рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ Resume.dat рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдФрд░ рдпрд╣ рд╡рд╣рд╛рдВ рд╣реИ рдХрд┐ рд╕рднреА рдЯреЙрд░реЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрдм рдЧреНрд░рд╛рд╣рдХ рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рджреЗрдЧрд╛: uTorrent рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдБред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ uTorrent рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, uTorrent рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВред рдРрд╕реА рд╡рд┐рдзрд┐ рдкреНрд░рддрд┐ рджрд┐рди рдПрдХ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╡рд┐рддрд░рдг рдмреИрдЪреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдП, рдЕрд░реНрдерд╛рддред рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рджреВрд░ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореБрдЭреЗ рд╕реАрдзреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди рддрдм рдореБрдЭреЗ uTorrent WebUI рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ред WebUI рдХреЗ рдкрд╛рд╕ рдПрдХ API рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реИрдВ ред WebUI рдПрдкреАрдЖрдИ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЯреЛрд░реЗрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдХреБрдХреАрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рдЯреЛрдХрди рд╣реИред рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ webui.token_auth рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рд╣рдореЗрдВ рджреВрд╕рд░рд╛ рдЪрд╛рд╣рд┐рдПред

 def uTWebUI(ut_name, ut_passw): #  cookie  token. passmgr = urllib2.HTTPPasswordMgrWithDefaultRealm() passmgr.add_password(None, webui_token, ut_name, ut_passw) authhandler = urllib2.HTTPBasicAuthHandler(passmgr) opener = urllib2.build_opener(authhandler) urllib2.install_opener(opener) req = urllib2.Request(webui_token) tkp = urllib2.urlopen(req) page = tkp.read() token = doc(page).xpath('//text()')[0] passw = req.unredirected_hdrs['Authorization'] return passw, token def webuiActions(torrent_hash, action, password, token): head = {'Authorization': password} if action == 'remove': #       . action_req = '?token={0}&action=remove&hash={1}'.format(token, torrent_hash) r, act = http.request(webui_url+action_req, headers=head) 


UTorrent рдореЗрдВ, рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕рд╛рдЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рд╕рд░рд▓ рднреЗрдЬрдирд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдлрд┐рд░ рд╣рдореЗрдВ рдПрдХ рдЯреЛрдХрди рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдХреБрдЫ рдлрдВрдХреНрд╢рди рдХрд░рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рдВрдХреНрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
(рдиреЛрдЯ: рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд╕рдордп рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред)

рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ?


рдирддреАрдЬрддрди, рдореБрдЭреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реА рдЬреЛ рдореЗрд░реА рдЬрд╝рд░реВрд░рдд, рдереЛрдбрд╝рд╛ рдЬреНрдЮрд╛рди рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЦреБрд╢реА рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреА рд╣реИ: рд╕реБрдмрд╣ рддрдХ рдХреЛрдб рдкрд░ рдмреИрдардиреЗ рдореЗрдВ рдмрд╣реБрдд рдордЬрд╝рд╛ рдЖрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░, рдЬрдм рдЖрдк рдмрд┐рд╕реНрддрд░ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдкрдХрдбрд╝ рдереАред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдзрд┐ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИред

UPD: рдореИрдВ рдЕрдкрдиреА рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХреЗ рд▓рд┐рдП рдмреЗрддрд╣рд╛рд╢рд╛ рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ: рдореИрдВрдиреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рдкрдардиреАрдп рд░реВрдк рдореЗрдВ рд▓рд╛рдпрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдореИрдВ рдЦреБрдж рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЖрдк рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдПред
рдХреЛрдб рдЧрд┐рддреБрдм рдХреЛ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In135874/


All Articles