Как парсить страницы которые подгружаются с помощью js на php?

Пользователь

от jaylen.trantow , в категории: PHP , год назад

Как парсить страницы которые подгружаются с помощью js на php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от guillermo , год назад

@jaylen.trantow 

Для парсинга страниц, которые используют JS для подгрузки данных, можно использовать несколько подходов:

  1. Использовать библиотеки автоматического тестирования, такие как Selenium WebDriver. Эти инструменты позволяют запускать браузер, имитировать действия пользователя и извлекать данные с помощью API.
  2. Использовать библиотеки для работы с DOM, такие как DOMDocument в PHP. Они позволяют загружать HTML-код страницы, а затем манипулировать с DOM-деревом для получения нужных данных.
  3. Использовать API сайта, если это возможно. Многие сайты предоставляют API для получения данных, которые иначе были бы недоступны через парсинг.


Выбор метода зависит от конкретного случая, доступных инструментов и необходимых данных.

Пользователь

от alisa.bahringer , 4 месяца назад

@jaylen.trantow 

Более подробный пример парсинга страницы, которая подгружается с помощью JavaScript на PHP, используя библиотеку для работы с DOM, выглядит следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

// URL страницы, которую необходимо спарсить
$url = 'https://example.com';

// Получаем HTML-код страницы
$html = file_get_contents($url);

// Создаем объект DOMDocument и загружаем HTML-код страницы
$dom = new DOMDocument();
$dom->loadHTML($html);

// Находим элементы на странице, используя XPath запросы
$xpath = new DOMXPath($dom);

// Например, найдем все элементы с классом "article"
$articles = $xpath->query('//div[@class="article"]');

// Выводим найденные элементы
foreach ($articles as $article) {
    echo $article->nodeValue . "
";
}

?>


Этот код загружает HTML-код страницы с помощью file_get_contents, создает объект DOMDocument для работы с DOM и использует XPath запросы для поиска нужных элементов на странице. В данном примере мы ищем элементы с классом "article" и выводим их содержимое.


Если страница использует сложный JavaScript, возможно потребуется использовать более сложные методы, такие как Selenium WebDriver, для полноценного парсинга.