Как я могу эмулировать запрос, как веб-браузер? - PullRequest
0 голосов
/ 15 марта 2020

Когда я смотрю на https://www.tutti.ch/de/vi/zaurich/haushalt/geraate-utensilien/tassen-und-unterteller-arv-ikea-blaue-streifen/27002681 с помощью браузера, я вижу совершенно другой сайт, чем когда я использую:

file_get_contents(...) // or

$agent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_URL,...);
$result=curl_exec($ch);
var_dump($result);`

Как я могу получить код html как видно в браузере?

1 Ответ

0 голосов
/ 15 марта 2020

html на этом сайте отображается на стороне клиента браузером с использованием javascript. Если вы пытаетесь разобрать какой-либо контент с сайта, попробуйте использовать безголовый браузер. Безголовый браузер - это браузер, который работает без графического интерфейса, но ведет себя как обычный браузер. И Chrome, и Firefox имеют версии без заголовка.

Вот полезная библиотека для запросов безголовых браузеров с помощью php: https://github.com/php-webdriver/php-webdriver Вы также можете взаимодействовать с javascript отправляйте команды, как это делал бы настоящий пользователь.

Вы можете установить браузер и драйвер на другом компьютере (или даже на своем собственном p c), если у вас нет необходимых разрешений для этого в Ваш хостинг аккаунт.

...