从 TikTok 抓取数据?

Scrape data from TikTok?

所以我试图从 TikTok 抓取 数据,但是出了点问题。 有时它 returns 整页,有时这样:

{"statusCode":200,"contentType":"text/html","content":""}

甚至有时 returns

Redirecting to (tiktok url)

它实际上从未重定向到提到的 URL。

有没有办法不断地抓取主页? 这是我当前的代码:

$pageurl = "https://www.tiktok.com/@".$_GET["username"];
$ch = @curl_init($pageurl);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240');
    
$result = curl_exec($ch);
echo $result;
curl_close($ch);

使用 CURL 进行请求时,默认情况下不遵循重定向。要使其遵循重定向,需要 FOLLOWLOCATION 设置,例如:

$ch = @curl_init($pageurl);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

对于空响应,您可能遇到错误,因此您应该检查一下:

if (curl_errno($ch)) {
    echo "Error: " . curl_error($ch);
}

或者可能只是错误已经结束,您应该重试直到得到非空响应。