Перейти к содержимому

Сервис обмена электронных валют


Парсер: вывод последних апдейтов Google PR и Яндекс тИЦ

#1 Kismedia

Kismedia
  • Пользователь
  • 315 сообщений
  • Репутация: 0
0

Отправлено 30 Декабрь 2010 - 16:24

Заинтересовала вот такая "фича" "Последние Апдейты" , как на нашем форуме.
Хотел бы тоже прикрутить у себя на сайте.
Где парсить эти показатели и вообще как это все дело прикрутить?

 

 

  • 0

#2 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 30 Декабрь 2010 - 16:26

либо взять готовый, либо свой написать
например можно парсить отсюда
http://www.pr-cy.ru/updates
вот этот файлик
http://www.pr-cy.ru/updates.xml

а готового решение я не нашел, когда хотел сделать, никто не даст
  • 0

#3 bumer

bumer
  • Пользователь
  • 502 сообщений
  • Репутация: 0

Отправлено 30 Декабрь 2010 - 16:34

это тоже самое что новости, могу скрипт скинуть вечером.
  • 0

#4 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 30 Декабрь 2010 - 16:34

surfer, Спасибо ;)
Попробую взять скрипт у Димаса
  • 0

#5 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 30 Декабрь 2010 - 16:41

Прикручу на сайт напишу в этой теме, может кому пригодится.
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 30 Декабрь 2010 - 17:11

Kismedia, если поглядите, у нас это сделано простыми строчками на jQuery:
$(document).ready(function() {
	$.ajax({
		type: "POST",
		url: "путь до PHP файла, который тупо парсит XML и собирает из них JSON-объект с данными в нужном формате",
			dataType: "json",
			success: function(json){
				$('#pr').append( json.pr.now ? '<b>'+json.pr.date+'</b>' : json.pr.date);
				$('#cy').append( json.cy.now ? '<b>'+json.cy.date+'</b>' : json.cy.date);
				$('#yav').append( json.yav.now ? '<b>'+json.yav.date+'</b>' : json.yav.date);
			},
			error: function(data,textStatus, errorThrown){
				$('#pr').append("ошибка");
				$('#cy').append("ошибка");
				$('#yav').append("ошибка");
			}
		 });
});
Сделал на Ajax, чтобы не грузить страницу при долгом ответе сервера с данными апдейтов.
  • 0

#7 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 30 Декабрь 2010 - 17:20

ZiTosS, спасибо за помощь! ;)
Попробую использовать Ваш код на своем сайте.
По результатам отпишусь.
  • 0

#8 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 30 Декабрь 2010 - 23:45

Kismedia, код парсинга XML и формирования json не привёл.
использовал парсинг, хотя можно было просто отдать XML и с ним работать на стороне клиента, потому что нужно было добавить дополнительные поля, а юзать либы XML не хотелось ;)
  • 0

#9 Kismedia

Kismedia
    Topic Starter
  • Пользователь
  • 315 сообщений
  • Репутация: 0

Отправлено 04 Январь 2011 - 15:35

Может кто подскажет? ;)

Вот пробую так обработать XML файл:

$xmlDoc = new DOMDocument();
$xmlDoc->load("http://www.pr-cy.ru/updates.xml");

$x = $xmlDoc->documentElement;
foreach ($x->childNodes AS $item)
echo $x->nodeValue;


Код работает, обрабатывет этот файл:

<?xml version="1.0" ?>
<updates>
<cy>30.12.2010</cy>
<pr>03.04.2010</pr>
<yav>31.12.2010</yav>
</updates>


И на выходе дает следующий результат:

30.12.2010 03.04.2010 31.12.2010 30.12.2010 03.04.2010 31.12.2010 30.12.2010 03.04.2010 31.12.2010 30.12.2010 03.04.2010 31.12.2010 30.12.2010 03.04.2010 31.12.2010 30.12.2010 03.04.2010 31.12.2010 30.12.2010 03.04.2010 31.12.2010

Мне же нужно создать три переменные $cy, $pr, $yav и присвоить им три соответствующих значения из каждого тега xml файла , а потом вывести в любом удобном для меня месте.
  • 0

#10 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 04 Январь 2011 - 17:23

Вот так попробуй - должно работать:
<?php
if($xml_content = @file_get_contents("http://www.pr-cy.ru/updates.xml")){
$xml = new SimpleXMLElement($xml_content);

/*echo "<pre>";
print_r($xml);
echo "</pre>";*/

$cy = $xml->cy;
$pr = $xml->pr;
$yav = $xml->yav;

echo "Это значение переменной cy - " .$cy. "<br />";
echo "Это значение переменной pr - " .$pr. "<br />";
echo "Это значение переменной yav - " .$yav. "<br />";
}else echo "Ошибка открытия файла";
?>

  • 0


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru