Spaces:
Sleeping
Sleeping
File size: 1,812 Bytes
908e980 |
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 |
import json
import requests
from tqdm import tqdm
from concurrent.futures import ThreadPoolExecutor, as_completed
def download_mp4(url, filename):
response = requests.get(url, stream=True)
response.raise_for_status()
with open(filename, 'wb') as output_file:
for chunk in response.iter_content(chunk_size=8192):
if chunk:
output_file.write(chunk)
def fetch_article_alias_uz_la(item, idx):
url = item['concat']
response = requests.get(url)
if response.status_code == 200:
data = response.json()
vid_url = data['offense']['report']['video']['download-url']
print(idx, vid_url)
download_mp4(vid_url, f"vids/vid_39_1284-2_{idx}.mp4")
tmp = data['offense'].get('article_alias_uz_la-url', None)
return tmp
else:
print(f"Failed to fetch data from URL: {url}")
return None
def get_article_alias_uz_la_parallel(json_data, max_workers=3):
article_aliases = []
with ThreadPoolExecutor(max_workers=max_workers) as executor:
futures = {executor.submit(fetch_article_alias_uz_la, item, idx): item for idx, item in enumerate(json_data)}
for future in tqdm(as_completed(futures), total=len(futures)):
result = future.result()
article_aliases.append(result)
return article_aliases
# Read JSON data from a file
with open('link_v3.json', 'r') as file:
json_data = json.load(file)
json_data_filtered = []
for d in json_data:
# modda id va number. Etibor qiling Moddalar.pdf da id=Kod, va number=Raqam deyilgan
if d['id'] == 39 and d['number'] == '128⁴-2':
json_data_filtered.append(d)
print(len(json_data_filtered))
# vids nomli papka yarating
article_aliases = get_article_alias_uz_la_parallel(json_data_filtered)
|