, TikTok kullanıcı profillerinden belirli bilgileri (kullanıcı adı, ID, profil resmi, takipçi sayısı gibi) nasıl çekebileceğinizi adım adım anlatacağım. Bu işlem için Python dilini kullanıyoruz ve bazı harici kütüphanelere ihtiyacımız olacak. Aşağıda adımları ve gereksinimleri bulabilirsiniz.

Gerekli Kütüphaneler:


Projeyi çalıştırabilmek için öncelikle aşağıdaki Python kütüphanelerini yüklemeniz gerekiyor:
  1. requests - HTTP istekleri yapmanızı sağlar.
  2. BeautifulSoup4 - HTML sayfasını parse etmek ve içindeki öğelere erişmek için kullanılır.
  3. json - JSON verisini parse etmek ve düzenli bir şekilde kullanabilmek için dahili Python kütüphanesidir.
Bu kütüphaneleri yüklemek için şu komutları terminalde çalıştırabilirsiniz:

pip install requests
pip install beautifulsoup4

Kodun İşlevi:


Bu Python kodu, TikTok üzerindeki belirli bir kullanıcının profil bilgilerini çekmek için tasarlanmıştır. Aşağıdaki adımları takip ederek bu işlemi gerçekleştirebilirsiniz:
  1. TikTok Profil URL'si: Kodu kullanarak herhangi bir TikTok kullanıcısının profil URL'sini sorgulayabilirsiniz. Örneğin:

    url = 'https://www.tiktok.com/@google'

    1. GET İsteği: Python requests kütüphanesini kullanarak TikTok sayfasının içeriğini çekeriz.
    2. HTML Parse İşlemi: BeautifulSoup kütüphanesiyle TikTok sayfasındaki HTML içeriği parse edilir ve gerekli bilgiler aranır.
    3. JSON Verisinin Çekilmesi: TikTok sayfasında yer alan belirli bir script etiketi içerisindeki JSON verisi parse edilerek kullanıcının profil bilgileri elde edilir.
    4. Çıktı: Kullanıcı adı, ID, profil resmi, takipçi sayısı gibi bilgileri terminale yazdırır.
  2. Örnek Kullanım:


    Kodu çalıştırdığınızda, örneğin TikTok'ta @google kullanıcısının aşağıdaki bilgilerini elde edebilirsiniz:
    • Kullanıcı Adı
    • ID
    • Profil Resmi
    • Takipçi Sayısı
  3. Ayrıca, TikTok profilinden çekebileceğiniz başka bilgileri de (video sayısı, beğeni sayısı vb.) kod üzerinde ufak değişiklikler yaparak kullanabilirsiniz.

    Dikkat Edilmesi Gerekenler:

    • TikTok platformu zaman zaman HTML yapısını değiştirebilir, bu nedenle kod çalışmadığında sayfa yapısını kontrol edin.
    • Ayrıca, sürekli olarak büyük miktarda veri çekmek TikTok tarafından engellenmenize sebep olabilir. Bu yüzden dikkatli kullanmanızı tavsiye ederim.
kodun tamami:

import requests
from bs4 import BeautifulSoup
import json

# TikTok sayfasının URL'si
url = 'https://www.tiktok.com/@google'

# Sayfa içeriğini almak için bir GET isteği gönderiyoruz
response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})

# Sayfanın HTML içeriğini bir BeautifulSoup nesnesine dönüştürüyoruz
soup = BeautifulSoup(response.text, 'html.parser')

# '__UNIVERSAL_DATA_FOR_REHYDRATION__' id'sine sahip script etiketini buluyoruz
script_tag = soup.find('script', id='__UNIVERSAL_DATA_FOR_REHYDRATION__')

# Eğer script etiketi bulunduysa, içeriğini alıyoruz ve JSON olarak parse ediyoruz
if script_tag:
    json_data = json.loads(script_tag.string)
    veri = json.dumps(json_data, indent=4)  # JSON verisini düzenli bir şekilde yazdırıyoruz
    
    # JSON verisinden kullanıcı adını çekiyoruz
    kullanici_adi = json_data["__DEFAULT_SCOPE__"]["webapp.user-detail"]["userInfo"]["user"]["uniqueId"]
    id = json_data["__DEFAULT_SCOPE__"]["webapp.user-detail"]["userInfo"]["user"]["id"]
    pr = json_data["__DEFAULT_SCOPE__"]["webapp.user-detail"]["userInfo"]["user"]["avatarLarger"]
    takipci = json_data["__DEFAULT_SCOPE__"]["webapp.user-detail"]["userInfo"]["stats"]["followerCount"]
    print(f"Kullanıcı Adı: {kullanici_adi}\nid: {id}\nProfil resmi: {pr}\ntakipçi sayısı: {takipci} ")
else:
    print("Script etiketi bulunamadı.")



# kullanabileceğin diğer veriler.. aşğıdal istelenmiştir.
"""                        "webapp.user-detail": {
                            "userInfo": {
                                "user": {
                                    "id": "109398199705976832",
                                    "shortId": "",
                                    "uniqueId": "kullaniciadi",
                                    "nickname": "kullaniciadi",
                                    "avatarLarger": "https:\u002F\u002Fp16-sign-va.tiktokcdn.com\u002Fmusically-maliva-obj\u002F1594805258216454~c5_1080x1080.jpeg?lk3s=a5d48078&nonce=58222&refresh_token=3d54e870d30d727274db448eb371c048&x-expires=1726786800&x-signature=7VzR23Z6cPdxHRsUQGL6b%2FonD4M%3D&shp=a5d48078&shcp=81f88b70",
                                    "avatarMedium": "https:\u002F\u002Fp16-sign-va.tiktokcdn.com\u002Fmusically-maliva-obj\u002F1594805258216454~c5_720x720.jpeg?lk3s=a5d48078&nonce=14243&refresh_token=e3c424a846b94828ab4fb643f5c55f96&x-expires=1726786800&x-signature=mWvo9Io4RsBStDiq5jvfme23070%3D&shp=a5d48078&shcp=81f88b70",
                                    "avatarThumb": "https:\u002F\u002Fp16-sign-va.tiktokcdn.com\u002Fmusically-maliva-obj\u002F1594805258216454~c5_100x100.jpeg?lk3s=a5d48078&nonce=35386&refresh_token=79727c7c1b77281f40e47e62b6a7c65c&x-expires=1726786800&x-signature=AagcKQpIkpmzmI1x0WVVxRb9sy0%3D&shp=a5d48078&shcp=81f88b70",
                                    "signature": "",
                                    "createTime": 1466454078,
                                    "verified": false,
                                    "secUid": "MS4wLjABAAAAnx_pNIQWz3paJN9QIn7vPMJdf5DXdjwudqfHBKvFZ5hQPYAGJNsgl6c-iFxDxn74",
                                    "ftc": false,
                                    "relation": 0,
                                    "openFavorite": false,
                                    "commentSetting": 0,
                                    "commerceUserInfo": {
                                        "commerceUser": false
                                    },
                                    "duetSetting": 0,
                                    "stitchSetting": 0,
                                    "privateAccount": false,
                                    "secret": false,
                                    "isADVirtual": false,
                                    "roomId": "",
                                    "uniqueIdModifyTime": 0,
                                    "ttSeller": false,
                                    "region": "TR",
                                    "downloadSetting": 0,
                                    "profileTab": {
                                        "showMusicTab": false,
                                        "showQuestionTab": false,
                                        "showPlayListTab": false
                                    },
                                    "followingVisibility": 1,
                                    "recommendReason": "",
                                    "nowInvitationCardUrl": "",
                                    "nickNameModifyTime": 0,
                                    "isEmbedBanned": false,
                                    "canExpPlaylist": true,
                                    "profileEmbedPermission": 3,
                                    "language": "fr",
                                    "eventList": [
                                    ],
                                    "suggestAccountBind": false,
                                    "isOrganization": 0
                                },
                                "stats": {
                                    "followerCount": 1447,
                                    "followingCount": 0,
                                    "heart": 0,
                                    "heartCount": 0,
                                    "videoCount": 0,
                                    "diggCount": 0,
                                    "friendCount": 0
                                },
                                "itemList": [
                                ]
                            },
                            "shareMeta": {
                                "title": "kullaniciadi TikTok'ta",
                                "desc": "@kullaniciadi 1447 Takipçi, 0 Takip Ediliyor, 0 Beğeni - kullaniciadi tarafından oluşturulan harika kısa videoları izleyin"
                            },
                            "statusCode": 0,
                            "statusMsg": "ok",
                            "needFix": true
                        },
"""