Кто нибудь понял как получить xml файл с нужного сайта?
Хорошо рассказано как парсить с xml файла, но не слова где его взять. Просмотрел урок про то как записывать файлы и на тех простых примерах из урока все понятно, но с точки зрения практичности признаюсь, что не фига не понял. Если кто то понял как получить xml файл с нужного вам сайта, поделитесь опытом. Плиз! Очень надо. Спасибо заранее!
Похожие вопросы
- Как вставить все поля из xml файла с помощью insert в mysql?
- Как добавить автообновляемый xml-каталог?
- php урок 62
- Как решить проблему с ошибкой call to a member function query() on null?
- Не выводиться в браузер $xml что делать?
- Вопрос к уроку Работа с XML. Запишем данные из XML в базу.
Один ответ
- Все вопросы
- Старые
- Голоса
Не все сайты отдают XML. Некоторые сайты предоставляют официальный API и позволяют делать запросы к их сайту, а на выходе получать XML или JSON.
Например, VK отдает данные в XML или JSON: https://vk.com/dev/first_guide
Гуглится обычно название сервиса, например Facebook API.
К сайтам, которые не предоставляют API, пишут грабберы используя разные библиотеки, например PHP Simple HTML DOM Parser. т.е. с помощью этой библиотеки парсят HTML данные на сайте, затем сохраняют данные в удобном виде в базу или сразу отдают данные в виде XML/JSON.
Работа с XML в PHP
Зачем нужен XML при парсинге? Иногда бывает так, что сайт, который вам нужно спарсить, имеет API, с помощью которого можно получить желаемое, особо не напрягаясь. Поэтому сразу совет — перед тем, как парсить сайт, проверьте, нету ли у него API.
Что такое API? Это набор функций, с помощью которых вы можете слать запрос этому сайту и получать нужный ответ. Вот этот ответ чаще всего приходит в формате XML. Поэтому давайте приступим к его изучению.
Работа с XML в PHP
Пусть у вас есть XML. Он может быть в строке, либо хранится в файле или отдаваться по запросу к определенному URL.
Пусть XML хранится в строке. В этом случае из этой строки нужно создать объект с помощью new SimpleXMLElement:
Сейчас у нас в переменной $xml хранится объект с разобранным XML. Обращаясь к свойствам этого объекта можно получать доступ с содержимому тегов XML. Как именно — разберем чуть ниже.
Если же XML хранится в файле или отдается по обращению к URL (что чаще всего и бывает), то следует использовать функцию simplexml_load_file, которая делает тот же объект $xml:
Приемы работы
В примерах ниже наш XML хранится в файле или по URL.
Пусть дан следующий XML:
Давайте получим имя, возраст и зарплату работника:
Как вы видите, у объекта $xml есть свойства, соответствующие тегам.
Вы может обратили внимание, что тег <worker> нигде не фигурирует при обращении. Это потому, что он корневой тег. Можно переименовать его, например, на <root> — и ничего не поменяется:
Корневой тег в XML может быть только один, так же, как и тег <html> в обычном HTML.
Давайте чуть модифицируем наш XML:
В этом случае у нас получится цепочка обращений:
Работа с атрибутами
Пусть некоторые данные хранятся в атрибутах:
Теги с дефисами
В XML разрешены теги (и атрибуты) с дефисом. В этом случае обращение к таким тегам происходит так:
Перебор циклом
Пусть теперь у нас не один работник, а несколько. В этом случае мы можем перебрать наш объект с помощью цикла foreach:
Из объекта в нормальный массив
Если вам неудобно работать с объектом, вы можете преобразовать его в нормальный массив PHP с помощью следующего хитрого приема:
Больше информации
Парсинг на основе sitemap.xml
Зачастую на сайте есть файл sitemap.xml. В этом файле хранятся ссылки на все страницы сайта для удобства индексации их поисковыми системами (индексация — это по сути и есть парсинг сайта яндексом и гуглом).
В общем-то нас мало должно волновать, зачем нужен этот файл, главное, что если он есть — можно не лазить по страницам сайта какими-либо хитрыми методами, а просто воспользоваться этим файлом.
Как проверить наличие этого файла: пусть мы парсим сайт site.ru, тогда обратитесь в браузере к site.ru/sitemap.xml — если что-то увидите, значит он там есть, а если не увидите — то увы.
Если sitemap есть — то в нем содежатся ссылки на все страницы сайта в формате XML. Спокойно забираете этот XML, парсите его, отделяете ссылки на нужные вам страницы любым удобным вам способом (например, анализом URL, который был описан в методе паука).
В итоге вы получаете список ссылок для парсинга, остается только зайти на них и спарсить нужным вам контент.
Как посмотеть XML файл заказов Битрикс?
Иногда, для отлаживания процессов обмена между сайтом и 1С, необходимо получить пример файла orders.xml который 1С-ка забирает в момент обмена заказами.
Основная проблема в том. что файла orders.xml в фиде физического файла на стороне сайта не существует и нигде не формируется. Файл «создается» самой 1C в момент запроса к сайту и проверки заказов доступных к обмену и актуализации
Где найти orders.xml в 1С-битрикс?
Для получения файла с заказами в том же виде, в котором его увидит 1Ска достаточно авторизоваться пользователем (группе которого доступны операции обмена с 1С ) и перейти на страницу:
После загрузки страницы браузером вы увидите точно то же, что и 1С-ка в момент запроса файла заказов со стороны сайта.

Возможные ошибки
Если перейдя по ссылке вместо xml структуры в окне браузера вы видите ошибку:
Это значит, что обмен с сайтом проходит по так называемой «новой схеме» и вам нужно «вернуть» Битрикс в классическое состояние.
Для этого откройте админ-панель и перейдите в раздел Командная PHP-строка (Рабочий стол > Настройки > Инструменты > Командная PHP-строка или доступна по ссылке /bitrix/admin/php_command_line.php?lang=ru) и выполнить код
После окончания операции, снова перейдите по ссылке и ошибка должна исчезнуть. Ссылка будет работать до момента следующего обмена между сайтом и 1С, после чего операцию придется повторить в случае необходимости.
Чем можно скачать XML-файл с сайта?
Да там нельзя «Сохранить как»
В частности надо скачать отсюда:
http://www.sap.com/cis/partners/BO/index.epx
следующие демонстрации:
# SAP BusinessObjects Planning and Consolidation: Streamlined Planning, Budgeting, Forecasting, and Reporting
# SAP BusinessObjects Planning and Consolidation: Enabling a Fast, Accurate Close
Прямые ссылки:
http://www.sap.com/demos/demplayv2/demoPlayMaster.html?demos.
http://www.sap.com/demos/demplayv2/demoPlayMaster.html?demos.
ты уверен что тебе xml нужен?
чото мне кажется что тебе оттуда флеш видео нада а не xml
по-моему все прозрачно
http://www.sap.com/demos/demplayv2/demoPlayMaster.html?demos/BPC_Overview_US/BPC_Overview_US_config.xml
хтмл-страничке передается имя xml-файла
значит, получаем из этой строки абсолютное имя файла, попутно обращая внимание на отсутствие слеша перед именем и радуемся
получится, соответственно:
http://www.sap.com/demos/demplayv2/demos/BPC_Overview_US/BPC.
догадываюсь примерно о чем проблема.
попробуй другим браузером
если пользуешься Firefox, то есть плагин download helper — он умеет флешки забирать с сайта
У оперы из кеша можно вытащить
не, не получилось забрать флеш этим плагином
Хм. что-то слишком рутинно
я решил тупо записать видео с сайта, программой uv-screen-camera