
Scrapez et téléchargez les publications vidéo TikTok et leurs métadonnées à partir de profils utilisateurs, hashtags et tendances sans authentification. Produit des archives JSON, CSV et ZIP.
Récupérez et téléchargez des informations utiles depuis TikTok.
Aucun identifiant ou mot de passe requis.
Ce n'est pas une API officielle, etc. C'est simplement un scrapeur qui utilise l'API Web de TikTok pour récupérer des médias.
Remarque :
Publications – Sortie JSON/CSV :
id: '6748606789551410438',
text:'TEXT',
createTime: '1571282470',
authorId: '123123',
musicId: '123123',
videoUrl: 'VIDEO_URL',
diggCount: 485,
shareCount: 1,
commentCount: 24

Erreurs possibles
tiktok-scraper nécessite Node.js v8.6.0+ pour fonctionner.
Installation depuis NPM
$ npm i -g tiktok-scraper
Installation depuis YARN
$ yarn global add tiktok-scraper
$ tiktok-scraper --help
Usage: tiktok-scraper <command> [options]
Commands:
tiktok-scraper user [id] Récupérer les vidéos d'un nom d'utilisateur. Saisissez uniquement le nom d'utilisateur
tiktok-scraper hashtag [id] Récupérer les vidéos d'un hashtag. Saisissez le hashtag sans #
tiktok-scraper trend Récupérer les publications des tendances actuelles
Options:
--help, -h Aide [boolean]
--version Afficher le numéro de version [boolean]
--number, -n Nombre de publications à récupérer. Si vous définissez 0, toutes les publications seront récupérées [default: 20]
--proxy, -p Définir un proxy [default: ""]
--timeout Si vous recevez une erreur de limite de débit ('rate limit'), vous pouvez essayer de définir un délai d'attente. Le délai est en millisecondes : 1000 ms = 1 seconde [default: 0]
--download, -d Télécharger et archiver toutes les vidéos récupérées dans un fichier ZIP [boolean] [default: false]
--filepath Répertoire pour enregistrer tous les fichiers de sortie.
[default: "/Users/jackass/Documents/lang/NodeJs/tiktok-scraper"]
--filetype, --type, -t Type de fichier de sortie où les informations des publications seront enregistrées. 'all' - enregistre les informations de toutes les publications dans un fichier 'json' et 'csv'
[choices: "csv", "json", "all"] [default: "csv"]
Examples:
tiktok-scraper user USERNAME -d -n 100
tiktok-scraper hashtag HASHTAG_NAME -d -n 100
tiktok-scraper trend -d -n 100
Exemple 1 : Récupérer 300 publications vidéo de l'utilisateur {USERNAME}. Enregistrer les informations des publications dans un fichier CSV (par défaut)
$ tiktok-scraper user USERNAME -n 300
Output:
CSV path: /{CURRENT_PATH}/user_1552945544582.csv
Exemple 2 : Récupérer 100 publications du hashtag {HASHTAG_NAME}, les télécharger et les enregistrer dans une archive ZIP. Enregistrer les informations des publications dans des fichiers JSON et CSV (--filetype all)
$ tiktok-scraper hashtag HASHTAG_NAME -n 100 -d -t all
Output:
ZIP path: /{CURRENT_PATH}/hashtag_1552945659138.zip
JSON path: /{CURRENT_PATH}/hashtag_1552945659138.json
CSV path: /{CURRENT_PATH}/hashtag_1552945659138.csv
Exemple 3 : Récupérer 50 publications de la section tendances, les télécharger dans un ZIP et enregistrer les informations dans un fichier CSV
$ tiktok-scraper trend -n 50 -d -t csv
Output:
ZIP path: /{CURRENT_PATH}/trend_1552945659138.zip
CSV path: /{CURRENT_PATH}/tend_1552945659138.csv
Pour un meilleur affichage, lors du téléchargement des publications, la progression sera affichée dans le terminal
Downloading 6750670497744309509 [==============================] 100%
Downloading 6749962264020782342 [==============================] 100%
Downloading 6749433991113264390 [==============================] 100%
Downloading 6750671571968429318 [==============================] 100%
Downloading 6750668198011505926 [==============================] 100%
Downloading 6748611221903117574 [==============================] 100%
Downloading 6748606789551410438 [==============================] 100%
Downloading 6748139550251535621 [==============================] 100%
Downloading 6748616311166799110 [==============================] 100%
Downloading 6748048372625689861 [==============================] 100%
const TikTokScraper = require('tiktok-scraper');
let options = {
number: 100,
};
(async () => {
try{
let posts = await TikTokScraper.user({USERNAME}, options);
console.log(posts)
} catch(error){
console.log(error)
}
})()
Promise retournera le résultat actuel
{
collector:[ARRAY_OF_DATA]
//If {filetype} and {download} options are enbabled then:
zip: '/{CURRENT_PATH}/user_1552963581094.zip',
json: '/{CURRENT_PATH}/user_1552963581094.json',
csv: '/{CURRENT_PATH}/user_1552963581094.csv'
}
const TikTokScraper = require('tiktok-scraper');
let options = {
count: 100,
event: true, // Enable event emitter, you won't be able to use promises
};
let posts = TikTokScraper.user({USERNAME}, options);
posts.on('data', (json) => {
//data in JSON format
})
posts.on('done', () => {
//completed
})
posts.on('error', (error) => {
//error message
})
Fonctions
.user(id, options) //Scrape posts from a specific user
.hashtag(id, options) //Scrape posts from hashtag section
.trend('', options) // Scrape posts from a trends section
Options
let options = {
// Number of posts to scrape: {int default: 20}
number: 50,
// Set proxy, example: 127.0.0.1:8080: {string default: ''}
proxy: '',
// Enable or Disable event emitter. If true then you can accept data through events: {boolean default: false}
event: false,
// Timeout between requests. If 'rate limit' error received then this option can be useful: {int default: 0}
timeout: 0
// Download posts or not. If true ZIP archive in {filepath} will be created: {boolean default: false}
download: false,
// How many post should be downloaded asynchronously. Only if {download:true}: {int default: 5}
asyncDownload: 5,
// File path where all files will be saved: {string default: 'CURRENT_DIR'}
filepath: `CURRENT_DIR`,
};
MIT
Logiciel libre