Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2010, 08:06
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию Не получается правельно парсить

Сорри, за нубский вопрос, но не получилось страницу пропарсить, на наличее некоторых значений
Код:
var
y:TStringStream;
Otvet: String;
begin
  y:=TStringStream.Create;
  Otvet1:=TStringStream.Create;
begin
HTTP_BUX.Get('http://' + сайт + Form2.Listview1.Items[w].SubItems[8],y,otvet1);
If pos('pen.php', y.datastring)>0 then//вместо pen.php может стоять другое
begin
Otvet:= HTTP_BUX.Get('http://' + Url_Pay + '/pen.php');
Ur:= PosSrc(Otvet1);
HTTP_BUX.Get('' + url +Ur);
D:= SetTimeOutJS(Otvet);
	Sleep(D);
Мне надо было пропарсить первое и второе или третье значение, первое мне нужно для слипа и http://Сайт.ru/ , а третье и четвёртое не нужно, хотел получить
Код:
	<script type="text/javascript">
	location.replace("http://Сайт.ru/");
	</script>
	<noscript>
	<meta http-equiv="refresh" content="0; url=http://Сайт.ru/">
	</noscript>
	
<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
<title>///</title>
<FRAMESET ROWS="35px,30px,90%,70px">
<FRAME marginwidth="0" marginheight="0" name="frminfo" scrolling="no" noresize NAME="a" SRC="1.php">
<FRAME NAME="b" SRC="3.php" STYLE="border-bottom:dashed 2px #191970;" SCROLLING="no" NORESIZE="noresize" MARGINHEIGHT="1" MARGINWIDTH="5">
<frame name="frmsite" src="http://Сайт.ru/">
<FRAME NAME="b" SRC="4.php" STYLE="border-bottom:dashed 2px #191970;" SCROLLING="no" NORESIZE="noresize" MARGINHEIGHT="1" MARGINWIDTH="5">
</FRAMESET>
</head>
</html>
в них хранится ссылка перехода, но мне пишит что не правельный оргумент был задан. Как быть не знаю, а как пользоваться
Код:
function PosSrc(ss: String): String;
var
	B, E: Integer;
begin
	B:= Pos('SRC="', ss)+5;
	E:= PosEx('"', ss, B);
	Result:= Copy(ss, B, E-B);
end;
забыл,есть ли у кого возможные варианты решения?

Последний раз редактировалось bulldog, 19.11.2010 в 14:33.
Ответить с цитированием
  #2  
Старый 19.11.2010, 14:30
bulldog bulldog вне форума
Начинающий
 
Регистрация: 10.05.2010
Сообщения: 160
Репутация: 14
По умолчанию

Пробывал так
Код:
begin
y:=TStringStream.Create;
HTTP_BUX.Get('http://' + Сайт,y);
yy:=y.DataString;
while Pos('" src="http://', yy) > 0
do begin
   Delete(str, 1, Pos(' src="', yy) + 7);
   EPos := Pos('">', yy);
   with Form2.ListView1
   do begin
      Form2.ListView1.AddItem(System.Copy(yy, 1, EPos-1), nil);
      System.Delete(yy, 1, EPos+4);
      Items[z].SubItems.Append(System.Copy(yy, 1, EPos-1));
            end;
   Delete(yy, 1, EPos+3);
end;
Но получаю кашу.
P.S.В первом посте получаемый код подредактировал на полный

Уже даже пробывал так
Код:
y:=TStringStream.Create;
HTTP_BUX.Get('http://' + Url_Pay + '/view.php?ad=' + Form2.Listview1.Items[w].SubItems[8],y);
yy:=y.DataString;
while Pos('src="', yy) > 0
do begin
   Delete(str, 0, Pos('src=', yy) + 5);
   EPos := Pos('">', yy);
   with Form13.ListView1
   do begin
      AddItem(System.Copy(yy, 1, EPos-1), nil);
      System.Delete(yy, 1, EPos+2);
      Items[z].SubItems.Append(System.Copy(yy, 1, EPos-1));
      System.Delete(yy, 1, EPos+4);
      Items[z].SubItems.Append(System.Copy(yy, 1, EPos-1));
            end;
   Delete(yy, 1, EPos+3);
end;
Но опять же не то, не получается у меня получить из
Код:
<FRAME marginwidth="0" marginheight="0" name="frminfo" scrolling="no" noresize NAME="a" SRC="1.php">
<FRAME NAME="b" SRC="2.php" STYLE="border-bottom:dashed 2px #191970;" SCROLLING="no" NORESIZE="noresize" MARGINHEIGHT="1" MARGINWIDTH="5">
<frame name="frmsite" src="http://Сайт.ru/">

1.php, 2.php и http://Сайт.ru/

Последний раз редактировалось bulldog, 19.11.2010 в 18:33.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter