Альтернативой использованию собственного DOM-парсера может быть использование YQL .Таким образом, вам не нужно делать сам синтаксический анализ.Веб-служба YQL позволяет приложениям запрашивать, фильтровать и объединять данные из разных источников в Интернете.
Например, чтобы получить таблицу HTML с примером класса, заданным как
http://www.w3schools.com/html/html_tables.asp
, вы можете сделать
$yql = 'http://tinyurl.com/yql-table-grab';
$yql = json_decode(file_get_contents($yql));
print_r( $yql->query->results );
Я умышленно сократил URL, чтобыне перепутайте ответ.$yql
фактически ссылается на API YQL, добавляет некоторые опции и содержит запрос:
select * from html
where xpath="//table[@class='example']"
and url="http://www.w3schools.com/html/html_tables.asp"
YQL может возвращать JSON и XML.Я сделал так, чтобы он возвращал JSON, и затем расшифровал это, что привело к вложенной структуре stdClass
объектов и массивов (так что это не все массивы).Вы должны проверить, соответствует ли это вашим потребностям.
Вы опробуйте интерактивную консоль YQL, чтобы увидеть, как она работает .