Как отобразить страницу сайта в php с файлом js? - PullRequest
0 голосов
/ 22 февраля 2020

Есть сайт, который я хочу почистить: https://tse.ir/MarketWatch.html

Я знаю, что должен использовать:

file_get_contents("https://examplesite.html")

чтобы получить html часть сайта, но как я могу найти определенную c часть сайта, например, такую ​​как эта часть в текстовом файле:

<td title="دالبر"title="something" class="txtclass="someclass">Tag namad">دالبر<Name</td>

Когда я открыть текстовый файл, я никогда не вижу эту часть, и я думаю, что это потому, что на сайте есть JavaScript файл. Как я могу получить всю информацию о веб-сайте, которая включает в себя все, что я хочу?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2020

У вас есть три варианта очистки данных:

  1. Существует экспорт в файл Excel: https://tse.ir/json/MarketWatch/MarketWatch_1.xls?1582392259131. Проанализируйте его, просто запомните, что это число Unix Отметка времени, где первые 10 чисел - это месяц / день / год / часы / минуты

  2. Также, вероятно, есть refre sh функция (и) для рыночных данных где-то во всех. js файлах, загруженных на странице. Просто найдите его и посмотрите, сможете ли вы подключиться напрямую к источнику (обычно. json)

  3. Загрузите страницу с указанным интервалом c и очистите каждую строку таблицы, используя PHP s DOMXPath::query

0 голосов
/ 22 февраля 2020

Контент загружен по запросу ajax через javascript. Это означает, что вы не можете получить эти данные, просто захватывая содержимое страницы.

Существует два способа сбора необходимых данных:

  1. Использование решения на основе selenium webdriver , чтобы загрузить эту страницу реальным браузером (который будет выполнять JS) и собирать данные из обработанного DOM.
  2. Узнайте, какие запросы отправляются веб-сайтом для получения этих данных. Вы можете использовать вкладку сетевой активности в инструментах разработчика браузера. Вот пример для chrome. Для других браузеров такой же или похожий. Чем вы отправляете тот же запрос и ответ pase относительно ваших потребностей.

В вашем конкретном случае c, возможно, вы могли бы использовать этот URL: https://tseest.ir/json/MarketWatch/data_211111.json для получения доступа json объект с нужными вам данными.

...