-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdec2hex.py
More file actions
53 lines (41 loc) · 1.21 KB
/
dec2hex.py
File metadata and controls
53 lines (41 loc) · 1.21 KB
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
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import re
import urllib2
import random
base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]
def dec2hex(string_num):
num = int(string_num)
mid = []
while True:
if num == 0: break
num,rem = divmod(num, 16)
mid.append(base[rem])
return ''.join([str(x) for x in mid[::-1]])
def download_page(url, data = None, headers = {}):
request = urllib2.Request(url, data)
# set headers
for key, value in headers.items():
request.add_header(key, value)
opener = urllib2.build_opener()
response = opener.open(request, timeout=100)
content = response.read()
return content
def get_regex_data(regex, buf):
group = re.search(regex, buf)
if group:
return group.groups()[0]
else:
return ''
def main():
video_id = 446008
url = 'http://video.i.ua/video/%d' % video_id
content = download_page(url)
key= get_regex_data('&key=(\d+)&', content)
key_time= get_regex_data('&keyTime=(\d+)&', content)
download_url = 'http://vs1.i.ua/v/%s/2/%s/%s/%d.mp4' % (dec2hex(video_id), dec2hex(key_time), dec2hex(key), random.randint(1,10000000))
print download_url
return
if __name__ == '__main__':
main()