Skip to main content

A simple scraper for Tiktok

Project description

Tiktok simple scraper

Features

  • Scrapes all the posts of a tiktok account
  • Scrapes all the comments of a post

Installation

pip install tiktok_simple_scraper

Usage

You need to obtain a ms token and the "id" or "secuid" of the account. The ms token is a token that is used to authenticate the requests to the tiktok api. The "id" or "secuid" is the unique identifier of the account you want to scrape. You can obtain the ms token and the "id" or "secuid" of the account by opening tiktok and in your browser console see the requests it makes (see the network tab)

docs/ms_token_and_secuid.png

from datetime import datetime, timedelta
import os

from tiktok_simple_scraper.entities import ScraperOptions
from tiktok_simple_scraper.opts import LogCallbacks
from tiktok_simple_scraper.tiktok import TikTokAccountScraper

opts = ScraperOptions(
    most_old_date=datetime.now() - timedelta(days=3 * 30),
    max_comments_per_post=1000,
    callbacks=LogCallbacks(),
    check_account_in_storage=True,
)

ms_token = os.environ.get("MS_TOKEN")
scraper = TikTokAccountScraper(
    ms_token=ms_token,
)
account_secuid = "MS4wLjABAAAAUgpIunuFPI8GMn_zdK8OXxV7LCY3sGClYMubx-GSpu_g75SB_Sb8nNxIKm3TytOX"
result = scraper.scrape(account_secuid, opts)
print(result.json())

Output example:

{
  "name_to_show": "BancoEstado Oficial",
  "id": "MS4wLjABAAAAUgpIunuFPI8GMn_zdK8OXxV7LCY3sGClYMubx-GSpu_g75SB_Sb8nNxIKm3TytOX",
  "social_media": "TIKTOK",
  "followers_count": 0,
  "countries": [],
  "posts": [
        {
      "id": "7362193936972090629",
      "sec_id": null,
      "url": "7362193936972090629",
      "hashtags": [],
      "text": "¿Quién más así? #foryou #Bancoestado #pedropedropedropedro #trend #trending ",
      "type": "VIDEO",
      "date": "2024-04-26T11:12:36",
      "reactions": [
        {
          "type": "LIKE",
          "count": 113
        }
      ],
      "comments": [
        {
          "text": "Es viernes nuestro cuerpo lo sabe",
          "user": "elaahumada",
          "date": "2024-04-26T18:51:02",
          "url": "7362312008602256133",
          "reactions": [
            {
              "type": "LIKE",
              "count": 0
            }
          ],
          "replies": [],
          "sentiments": null,
          "user_name": "Ela Ahumada",
          "user_metadata": {
            "sec_uid": "MS4wLjABAAAALllrU5MkSPTaH2oO8ByCERShguFrTi20Z9maUWQi7Ob8ETi7XuN1fTGx_Wg3gaJr",
            "id": "239504324559560704"
          },
          "score": null
        },
        // more comments...
      ],
      "reaction_count": 113,
      "share_count": 35,
      "view_count": 12900,
      "total_comments": 0
    },
    // more posts...
  ]
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tiktok_simple_scraper-0.0.8.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

tiktok_simple_scraper-0.0.8-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file tiktok_simple_scraper-0.0.8.tar.gz.

File metadata

  • Download URL: tiktok_simple_scraper-0.0.8.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.2

File hashes

Hashes for tiktok_simple_scraper-0.0.8.tar.gz
Algorithm Hash digest
SHA256 d230e00d61853a2c4ead0f4d1cf61ab6b9fec8139f86ad71bf84072dd9654ded
MD5 f7291b5828ef2d8c1ce755cb460d2b19
BLAKE2b-256 dd8b2f30c07e87b1664f447c7cb609f7c4be8ec600dd6ecac3af78ce2ffb9e8e

See more details on using hashes here.

File details

Details for the file tiktok_simple_scraper-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for tiktok_simple_scraper-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e64c88b011015d18a1759a64d11273016a23829e5641c0fe3577246f135983b9
MD5 4e315989ac254ddb8c6c349fc5a10e00
BLAKE2b-256 07b6bbe43e88dac21a08f5ce7eb609a8134c11ac4d9af78a2f12f17f868c1b5e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page