A Simple Python Package for Scarping and Downloading Tiktok Videos
Project description
MyTIkTok
A Simple Python Package for Scarping and Downloading Tiktok Videos
Installation
Linux/Unix
pip3 install mytiktok
Windows
pip install mytiktok
Visual Output
The package itself uses undetected-chromedriver for webautomation which controls whether the chrome instance to renders or not hence the headless
option. Using headless mode increases the chances of a capthca being raised and scraping failed. So far in testing captcha is only noticed at Login()
but once login successful cookies are created and you should be fine in successive usage of the package until the cookies expire.
So implementing Retries is important if your planning on using this package for a project.
[!NOTE] I recommend using
headless = True
after you've aleady passed Login and generated cookies, and after you can useheadless = False
but alternatively you can just always setheadless = True
Example Usages
Search for tiktok videos
from mytiktok import Tiktok
email = 'your_tiktok_email@gmail.com'
password = 'your_tiktok_password'
search_term = '#JesusSaves #prayer'
#the package needs an account login details to create cookie sessions
tiktok = Tiktok(email=email, password=password)
#returns a videos object
videos = tiktok.search(search_term=search_term, amnt=14)
print(videos.info_list)
Get Videos of an Accounts Video
from mytiktok import Tiktok
email = 'your_tiktok_email@gmail.com'
password = 'your_tiktok_password'
accounts = [
'@calebbpartain',
'@dailychristmotives',
'@inspiringfaith1',
'@spreadthewordbro_',
]
#the package needs an account login details to create cookie sessions
tiktok = Tiktok(email=email, password=password)
#returns a videos object
videos = tiktok.accounts(accounts=accounts, amnt=14)
print(videos.info_dict)
Downloading Videos
Downloads videos via Search or Accounts
videos.download(folder_name = 'Example_Folder')
Download via Video
from mytiktok.video import Video
url = 'https://www.tiktok.com/@calebbpartain/video/7363384781024906538'
video = Video(url = url)
video.download(file_name='video.mp4')
Download via Videos Class
from mytiktok.videos import Videos
urls = [
'https://www.tiktok.com/@calebbpartain/video/72961sadsada4967404662062',
'https://www.tiktok.com/@calebbpartain/video/7314359034906234155',
'https://www.tiktok.com/@calebbpartain/video/7207942650564119854',
'https://www.tiktok.com/@calebbpartain/video/7363384781024906538',
]
videos = Videos(urls = urls)
videos.download(folder_name='Test_videos')
Limitations
- Uses Chrome Instances
- Login attempts Frequently Fail
- Download attempts can fail from time to time
Issues
If you are planning to download in bulk ensure to save URLs and use the Videos
class instead
[!NOTE] If using this package headlessly, is important to your needs try running your script in a Docker
[!IMPORTANT] Proxing has not been implemented so there is a possibility of snaptik.app blocking you and or slowing down your connection but just don't download excessively, keep the rates low and you should be fine
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.