Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2010, 14:45   #1
Dionix
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 38
По умолчанию Парсинг PHP или...

Здрасте многоуважаемые программисты! У меня проблема! Пишу программу, для работы которой нужен парсинг! Но в ходе я обнаружил, что парсинга php не может быть, так как php это не язык разметки..! но также я узнал что вполне возможен парсинг xml , и что php и xml как-то связаны.!! В этих двух языках я полный нуб! но есть ли возможность достать значение messages{count=1} (мне нужно значение 1 (один)!!!) с ссылки http://vkontakte.ru/feed.php. Если можно киньте пожалуйста код, с пояснениями!

ЗАРАНЕЕ ОЧЕНЬ БЛАГОДАРЕН!
Dionix вне форума Ответить с цитированием
Старый 10.07.2010, 15:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

начнем с того что там html
так как php скрипты исполняются а не выдают свой код.
а парсинг обсуждался миллиарды раз.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.07.2010, 15:06   #3
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Отпарсить непроблема, но что бы зайти на данную страницу нужно авторизироваться...
Код:
var
  FeedSource: string;
begin
  {Авторизация vkontakte.ru}
  FeedSource := {страница feed.php};
{Выбрать нужное:}
// для vkontakte.ru/feed.php
{=>}  Delete(FeedSource, 1, Pos('messages{count=', FeedSource) + Length('messages{count=') - 1);
// для pda.vkontakte.ru/feed.html
{=>}  Delete(FeedSource, 1, Pos('messages":{"count":', FeedSource) + Length('messages":{"count":') - 1);
{...}
  Delete(FeedSource, Pos('},', FeedSource), Length(FeedSource));
  ShowMessage(FeedSource);
end;

Последний раз редактировалось W0LF; 10.07.2010 в 15:13.
W0LF вне форума Ответить с цитированием
Старый 10.07.2010, 15:10   #4
Dionix
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 38
По умолчанию

Там не HTML потому что при парсинге в МЕМО кидает
Код:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script>
 var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
</script>
</head>
<body>
 <div>
    <img src="http://vkontakte.ru/images/progress.gif">
 </div>
 <form id="f" name="f" method="post" action="http://vkontakte.ru/feed.php">
  <input type='hidden' name='pda' value='' />
 </form>
 <iframe name="mf" onload="try{if (this.contentWindow.location.href.indexOf('slogin') != -1) {clearTimeout(t); if (this.contentWindow.location.href.indexOf('nonenone') != -1) {location.href='http://vkontakte.ru/login.php?op=logout&to=ZmVlZC5waHA-'; return false;} document.f.submit();}} catch(e) {}" border="0" style="border:0px; background-color:#FFF" src="http://login.vk.com/?vk=" width="1" height="1"></iframe>
</body>
</html>

а я нашел альтернативный способ через http://pda.vkontakte.ru/feed.html
Dionix вне форума Ответить с цитированием
Старый 10.07.2010, 15:44   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script>
var t = setTimeout("location.href='http://vkontakte.ru/login.php?op=logout'", 7000);
</script>
</head>
<body>
<div>
<img src="http://vkontakte.ru/images/progress.gif">
</div>
<form id="f" name="f" method="post" action="http://vkontakte.ru/feed.php">
<input type='hidden' name='pda' value='' />
</form>
<iframe name="mf" onload="try{if (this.contentWindow.location.href.i ndexOf('slogin') != -1) {clearTimeout(t); if (this.contentWindow.location.href.i ndexOf('nonenone') != -1) {location.href='http://vkontakte.ru/login.php?op=logout&to=ZmVlZC5waHA-'; return false;} document.f.submit();}} catch(e) {}" border="0" style="border:0px; background-color:#FFF" src="http://login.vk.com/?vk=" width="1" height="1"></iframe>
</body>
</html>
а это не html?
может там еще и фрейм, значит запрашиваем его.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.07.2010, 22:16   #6
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

В полне согласен с пеплом феникса, любой php код это обёртка над html, отличае в том что в html создаёш шаблон сайта, а в php то что сайт должен делать+так же можно и сам двежок создать, вроде как.
А про авторизацию и получения данных сайта, можно погуглить, мне не раз попадались, но мне они не нужны были и я не помню какие сайты просматривал

Последний раз редактировалось bulldog5293; 10.07.2010 в 22:19.
bulldog5293 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг XML на PHP Fellics{новичок} PHP 7 07.07.2010 19:46
Секундомер на java script или или на php salesman77 JavaScript, Ajax 5 13.11.2009 23:12
Что лучше изучать Php или javascript? Arassir PHP 15 14.07.2009 19:21
что перспективнее, perl или php? dexter182 PHP 6 28.05.2009 11:51
.dll или .so для php mv28jam PHP 3 08.12.2008 16:20