2017-02-05 3 views
1

Я хотел бы вытащить исходный код с помощью файла ('http://finance.yahoo.com/quote/VASIX/performance?p=VASIX');PHP-Pull HTML Исходный код для разбора

Если я посещаю эту страницу через браузер, веб-страница с данными в таблице «Годовая общая доходность (%) История» Показывает все годы и соответствующий процент потерь или выигрышей, однако при просмотре исходного кода, данные которого отсутствуют там. Я могу найти его в функции элемента проверки Chrome, но я хотел бы потянуть его с помощью PHP, чтобы я мог его разобрать.

Любые предложения о том, как это сделать?

ТИА

+0

Пожалуйста, объясните свой ответ немного больше. непонятно, что вы просите. – neophyte

+0

Может быть, Yahoo хочет защитить свои источники? –

ответ

0

Сайт использует Ajax вызова на другой URL, чтобы добавить содержимое на страницу. Один из способов найти URL-адрес API - это мониторинг активности сети.

Открыть инструменты разработчика Chrome> Сеть. Перезагрузите страницу и проверьте активность сети на вкладке XHR.

Редактировать: Вот что я нашел в сетевой деятельности. Посмотрите на «annualTotalReturns» массив

https://query2.finance.yahoo.com/v10/finance/quoteSummary/VASIX?formatted=true&crumb=KqFrauIpged&lang=en-US&region=US&modules=assetProfile%2CfundPerformance%2CtopHoldings%2CdefaultKeyStatistics&corsDomain=finance.yahoo.com

+0

Это отлично работает! Я могу получить источник и сделать то, что мне нужно. Но я не могу понять, как вы это нашли. Есть ли инструмент поиска текста в этом окне разработки? –

+0

Отлично. Просто откройте инструменты разработчика в google chrome, нажав F12, а затем перейдите на вкладку «Сеть» рядом со вкладкой «Консоль». После этого вы увидите текст следующим образом: Все | XHR JS CSS ... просто нажмите на XHR. Наконец, перезагрузите страницу и проверьте каждую ссылку в поле. Читайте здесь: https://developers.google.com/web/tools/chrome-devtools/network-performance/resource-loading?utm_source=dcc&utm_medium=redirect&utm_campaign=2016q3 –

+0

Пожалуйста, отметьте мой ответ в качестве ответа, если вы сочтете это полезным:) –