He tropezado aquí вконтакте con el grupo bastante interesante: ”Soviético психоделические las películas de dibujos animados”) y bien, y porque a mí анлим es necesario balancear, ha decidido balancear todas las películas de dibujos animados del grupo)) ha comenzado a pensar En realidad como esto hacer, comer онлайн los servicios, es también плагин para Firefox y userjs para Opera, pero hay uno grande pero en cualquier de estos modos es necesario balancear por un fichero, y además ручами pasar copiar y т.д y así sucesivamente,
Como hay uno софт bajo винду, pero el rábano silvestre con él, bajo линукс las parejas даж no empezaba a buscar. Todo прелесь en la programación: si no existe tierno a ti софта, escribe) Quería escribir en el comienzo скрипт en bash’е, pero ha cambiado de opinión después y ha decidido escribir en python. En realidad aquí que ha resultado: если нет нежного тебе софта, напиши) Хотел в начале написать скрипт на bash’е, но потом передумал и решил написать на python. Собственно вот, что получилось:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# - * - coding: utf8 - * -
import httplib
import re
import os

#param
url = ' линк hasta la lista del vídeo'
email = ' el jabón'
id = ' айди'
hash = ' хэш de la consigna'
#

def pb_str (prc, ch, width): ch, width) :
  return ch * int ((prc * width) / 100)(prc * width) / 100)

plinks = re.compile (' <div class = "aname"> <a href = "(VIDEO - [0-9] * _ [0-9] *)"> ')('<div class="aname"><a href="(video-[0-9]*_[0-9]*)">')
phost = re.compile (' http:// (. *)/assets/videos / [a-f0-9] *\.vk.flv ')('http://(.*)/assets/videos/[a-f0-9]*\.vk.flv')
pvtag = re.compile (' so\.addVariable \(¿\'vtag \', \' (. ¿*?) \' \); ')('so\.addVariable\(\'vtag\',\'(.*?)\'\);')
pvkid = re.compile (' so\.addVariable \(¿\'vkid \', \' (. ¿*?) \' \); ')('so\.addVariable\(\'vkid\',\'(.*?)\'\);')
pname = re.compile (' <h1>. * Y raquo; (. *) </h1> ')('<h1>.*&raquo; (.*)</h1>')
width = 60
print ' Skachivanie de la lista de los videoficheros...'
conn = httplib. HTTP (' vkontakte.ru ')HTTP('vkontakte.ru')
conn.putrequest (' GET ', url), url)
conn.putheader (' Host ', ' vkontakte.ru '), 'vkontakte.ru')
conn.putheader (' Cookie ', ' remixemail = ' + email + '; remixmid = ' + id + '; remixpass = ' + hash), 'remixemail='+email+';remixmid='+id+';remixpass='+hash)
conn.endheaders ()
conn.getreply ()
content = conn.getfile ().read ()).read()
conn.close ()
all = plinks.findall (content)(content)
print ' Es preparado'
print str (len (all)) + ' de los ficheros para la carrera'len(all))+' файлов для скачки'
count = 0
for i in all::
  count + = 1
  conn.connect (' vkontakte.ru ', 80),80)
  conn.putrequest (' GET ', ' http://vkontakte.ru/ ' +i), 'http://vkontakte.ru/'+i)
  conn.putheader (' Host ', ' vkontakte.ru '), 'vkontakte.ru')
  conn.putheader (' Cookie ', ' remixemail = ' + email + '; remixmid = ' + id + '; remixpass = ' + hash), 'remixemail='+email+';remixmid='+id+';remixpass='+hash)
  conn.endheaders ()
  conn.getreply ()
  content = conn.getfile ().read ()).read()
  conn.close ()
  vtag = pvtag.search (content).group (1)content).group(1)
  vkid = pvkid.search (content).group (1)content).group(1)
  name = unicode (pname.search (content).group (1), ' cp1251 ')pname.search(content).group(1), 'cp1251')
  print str (count) + ': ' +namecount)+' : '+name
  filename = name + '.flv'
  conn.connect (' vkadre.ru ', 80),80)
  conn.putrequest (' GET ', ' http://vkadre.ru/get_video?vkid= ' +vkid + ' Y vtag = ' + vtag), 'http://vkadre.ru/get_video?vkid='+vkid+'&vtag='+vtag)
  conn.putheader (' Host ', ' vkadre.ru '), 'vkadre.ru')
  conn.endheaders ()
  link = conn.getreply () [2] [' Location '])[2]['Location']
  host = phost.search (link).group (1)link).group(1)
  conn.close ()
  if os.path.isfile (filename):.isfile(filename):
    fstat = os.stat (filename)(filename)
    conn.connect (host, 80)80)
    conn.putrequest (' GET ', link), link)
    conn.putheader (' Host ', host), host)
    conn.endheaders ()
    size = conn.getreply () [2] [' Content-Length '])[2]['Content-Length']
    conn.close ()
    if fstat.st_size <int (size): int(size):
      conn.connect (host, 80)80)
      conn.putrequest (' GET ', link), link)
      conn.putheader (' Host ', host), host)
      conn.putheader (' Range ', ' bytes = ' + str (fstat.st_size) + ' - '), 'bytes='+str(fstat.st_size)+'-')
      conn.endheaders ()
      conn.getreply ()
      flv_file = open (filename, ' ab ')filename, 'ab')
      src_flv = conn.getfile ())
      get = fstat.st_size
      while True:
        kb = src_flv.read (1024)1024)
        get + = 1024
        if not kb:
          break
        flv_file.write (kb)
        perc = round (get / (float (size)) *100,3)get/(float(size))*100,3)
        if perc> 100::
          perc = 100.0
        print '\r ' + str (perc).rjust (7) + ' DEL % [' + \ + str(perc).rjust(7) + '% [' + \
          pb_str (perc, ' * ', width).ljust (width, ' ') + '] ',, width).ljust(width, ' ') + ']',
      flv_file.close ()
      conn.close ()
      print ' Ok'
    else:
      print ' Ok'
  else:
    conn.connect (host, 80)80)
    conn.putrequest (' GET ', link), link)
    conn.putheader (' Host ', host), host)
    conn.endheaders ()
    size = conn.getreply () [2] [' Content-Length '])[2]['Content-Length']
    flv_file = open (filename, ' wb ')filename, 'wb')
    src_flv = conn.getfile ())
    get = 0
    while True:
      kb = src_flv.read (1024)1024)
      get + = 1024
      if not kb:
        break
      flv_file.write (kb)
      perc = round (get / (float (size)) *100,3)get/(float(size))*100,3)
      print '\r ' + str (perc).rjust (7) + ' DEL % [' + \ + str(perc).rjust(7) + '% [' + \
        pb_str (perc, ' * ', width).ljust (width, ' ') + '] ',, width).ljust(width, ' ') + ']',
    flv_file.close ()
    conn.close ()
    print ' Ok'
print ' Todos los ficheros son bajados'

Собстенно el chirrido tira la página con la lista del vídeo saca, линки a ellos y baja por uno nombre del fichero se coge del nombre del vídeo. Porque no he ajustado la velocidad анлима a mí no ахти y нат en фряхе en la consecuencia de que инет es necesario a veces cortar en ноуте, en el chirrido ha añadido la posibilidad докачки del fichero. E.d. después del lanzamiento él comprueba si el fichero con tal nombre existe ya su dimensión menos necesario esto докачивает иначае pasa al fichero siguiente. En винде habrá lo más probable unos problemas con las codificaciones, pero mí en cierto modo mientras пофиг, pasar en винду no se reúno) Т.е. после запуска он проверяет если файл с таким именем уже существует и его размер меньше необходимого то докачивает иначае переходит к следующему файлу. В винде скорее всего будут проблемы с кодировками, но мне как-то пока пофиг, переходить на винду не собираюсь)
Una más nueva versión скрипта está aquí