Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from datetime import datetime, timezone, timedelta
- def get_vid_id(tiktok_url):
- # This regex should be safe as "Only letters, numbers, underscores, or periods are allowed" in TikTok usernames.
- import re
- regex = re.compile(r'(?<=\/video\/)(.*?)(?=$|[^0-9])')
- vid_id = regex.search(tiktok_url).group(0)
- return vid_id
- def extract_unix_timestamp(vid_id):
- # BigInt needed as we need to treat vid_id as 64 bit decimal. This reduces browser support.
- as_binary = bin(int(vid_id))[2:]
- first_31_chars = as_binary[:31]
- timestamp = int(first_31_chars, 2)
- return timestamp
- def unix_timestamp_to_brasilia_date(timestamp):
- date_object = datetime.utcfromtimestamp(timestamp)
- brasilia_timezone = timezone(timedelta(hours=-3)) # UTC-3 for Brasília
- brasilia_date_object = date_object.replace(tzinfo=timezone.utc).astimezone(brasilia_timezone)
- brasilia_date_format = brasilia_date_object.strftime('%a, %d %b %Y %H:%M:%S Brasília')
- return brasilia_date_format
- def get_date():
- tiktok_url = input("Enter TikTok video URL: ")
- vid_id = get_vid_id(tiktok_url)
- unix_timestamp = extract_unix_timestamp(vid_id)
- brasilia_date_format = unix_timestamp_to_brasilia_date(unix_timestamp)
- print("Uploaded on:", brasilia_date_format)
- if __name__ == "__main__":
- get_date()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement