web-dev-qa-db-fra.com

Selenium ne charge pas les pages TikTok

J'implémente un robot d'exploration TikTok utilisant Selenium et scrapy

start_urls = ['https://www.tiktok.com/trending']
....
def parse(self, response):
    options = webdriver.ChromeOptions()
    from fake_useragent import UserAgent
    ua = UserAgent()
    user_agent = ua.random
    options.add_argument(f'user-agent={user_agent}')
    options.add_argument('window-size=800x841')
    driver = webdriver.Chrome(chrome_options=options)
    driver.get(response.url)

Le robot s'ouvre Chrome mais il ne charge pas les vidéos. Chargement de l'image

Le même problème se produit également avec Firefox Aucune page de chargement avec Firefox

Le même problème en utilisant un simple script utilisant Selenium

from Selenium import webdriver
import time


driver = webdriver.Firefox()
driver.get("https://www.tiktok.com/trending")
time.sleep(10)
driver.close()

driver = webdriver.Chrome()
driver.get("https://www.tiktok.com/trending")
time.sleep(10)
driver.close()
4
user12512567

Avez-vous essayé de naviguer plus loin dans la fenêtre du navigateur Selenium? Si une erreur 404 apparaît sur les sites suivants, j'ai une solution qui a fonctionné pour moi:

J'ai simplement changé mon User-Agent en " Naverbot" qui est "autorisé" par le fichier robots.txt de Tik Tok

( Robots.txt )

Après avoir changé cela, tous les sites et vidéos se sont chargés correctement.

Les autres agents utilisateurs répertoriés sous le segment "autoriser" devraient également fonctionner si vous souhaitez ajouter une rotation.

1
zebo