#php #web-scraping
#php #очистка веб-страниц
Вопрос:
Я пытаюсь удалить источник трейлера из видеосвязи IMDb.
Я попытался использовать file_get_contents(); но в итоге [ HTTP-запрос не удался! Ошибка HTTP / 1.1 400 Bad Request] и cURL выдает мне 302 найдено, что документ переместился сюда вместо источника страницы
я пытаюсь получить полный исходный код с заданного URL
-адреса, например
function url_get_contents($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$url = "https://www.imdb.com/videoplayer/vi639154713?playlistId=tt6418918amp;ref_=tt_ov_vi";
$source = file_get_contents(urlencode($url));
//ends up with[ HTTP request failed! HTTP/1.1 400 Bad Request] or
//failed to open stream: No such file or directory in case of using urlencode
$source = url_get_contents($url);
//ends up with 302 Document has moved here .. probably missing the right options for curl
//--------//
//some scraping done with strpos and substr targeting the only video tag in the page "not the main problem"
echo $videoSourceLink;
//expected output for the previous url in the next comment---->
//https://imdb-video.media-imdb.com/vi639154713/1434659607842-pgv4ql-1547571245800.mp4?Expires=1555441981amp;Signature=gCtvwysi4WEvNbDuxBUCU75ABkTAprFhyt-P16D8o92fXFe~tWsYinU66VSMQT2f157d9f5dwkT3-vJcgT8aiJowsABIpkBd~oZIzJenM2e3W4wovZ8Z3l7NEmcGXjqhLpJ7eP2yu8JYZpgpSWeCIe7V5RiMhwIIPcKzlB3x6iWxy8rMRpaJZ8Vr7ZyadsIExbmCRK5OTFV4hZ2MbTMEtd-tRPKxthpzqaSQ18gvaBVH900SO76lqNWXRD-DnnSHjYsAnOVePfEqdff5o3PiaUpuGLEQbkNKlsgSPfYNHI74k6eOEGUehUjuzNCggb8LqActG7gPceOf4fD3xz4Vqg__amp;Key-Pair-Id=APKAIFLZBVQZ24NQH3KA
Обновление 1:
теперь, когда я использую функцию url_get_contents, которая использует cURL, она выдает этот ответ
Комментарии:
1. Что это
get_full_page_source
за функция?2. функция, которая должна быть ответом для получения полного источника страницы
3. Ах, я предполагал, что вы показываете нам, что вы пробовали. Например, показ нам используемого вами кода cURL может привести к тому, что люди укажут, где вы использовали неверный параметр.
4. Отредактировано, извините за неудобства.
5. Как это
url_get_contents
выглядит? Это не стандартная функция PHP. Также обратите внимание, что 302 — это не ошибка , это перенаправление; на какой URL он перенаправляет вас?