Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Нужна помощь (https://forum.antichat.xyz/showthread.php?t=207190)

aydar 27.05.2010 16:20

Нужна помощь
 
Рябят уже часа 3 наверное мучаюсь не могу спарсить логины с форумов ucoz, вот примеры:

Цитата:

sacred

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://sacred2-zone.ru/index/8-780','up780','scrollbars=1,top=0,left=0,resizable= 1,width=680,height=350');return false;">322332</a> <a class="uPM" href="http://sacred2-zone.ru/index/14-780-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s4.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s4.ucoz.net/rnk/10/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://www.clan-infibia.clan.su/user.gif" title="Бродяга" /></td><td class="uTd" align="center"><span title="21.15">2008-05-12</span></td><td class="uTd" align="center">0</td></tr>

megasoft

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="http://www.megasoft.3dn.ru/index/8-26729">$$$FISHER$$$</a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://www.megasoft.3dn.ru/files/rank/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователь <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="/files/gropss/user.png" title="Ученик" /></td><td class="uTd" align="center"><span title="23:08">14.07.2009</span></td><td class="uTd" align="center">0</td><td class="uTd" align="center">Мужчина</td></tr>

webucoz

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://webucoz.com/index/8-5255','up5255','scrollbars=1,top=0,left=0,resizabl e=1,width=680,height=350');return false;">$ergey</a> </td><td class="uTd" align="center">&nbsp;</td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s23.ucoz.net/rnk/6/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://webucoz.com/images/uuuser.png" title="Начинающий Вэбмастер" /></td><td class="uTd" align="center"><span title="02:19">10.03.2010</span></td><td class="uTd" align="center">0</td></tr>

forum

<tr><td class="uTd"><div style="float:right;"><a href="http://1988293063.unet.com/" target="_blank"><img alt="" border="0" src="http://s30.ucoz.net/img/ma/uid.gif" align="absmiddle" title="uNet профиль"></a></div><a href="http://forum.ucoz.ua/index/8-51" target="_blank">AnarchySaur</a> </td><td class="uTd" align="center">&nbsp;</td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s30.ucoz.net/rnk/1/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи </td><td class="uTd" align="center"><span title="09:55">07.10.2009</span></td><td class="uTd" align="center">0</td></tr>
Не могу найти общии закономерности для парсинга в принципе конец ника это </a>, а вот откуда начинать парсить ник хз.

HakaR 27.05.2010 17:17

">username</a> не?

aydar 27.05.2010 21:53

т.к. искать начало? "> не пойдет, может я вас не понял дайте код, плиз

RedFern.89 27.05.2010 22:10

ищи по 2м критериям

Код:

for I := 0 To Page.count -1 do
begin

 If (Pos('">', page[i]) <> 0) and (Pos('</a>', page[i]) <> 0) Then
 begin

 end;

end;


M_script_ 28.05.2010 09:45

PHP код:

while(sPage.Pos("<a href"))
{
   
sPage.Delete(1sPage.Pos("<a href"));
   
sPage.Delete(1sPage.Pos(">"));
   
sUser sPage;
   
sUser.SetLength(sUser.Pos("<") - 1);
   
UserList->Add(sUser);



aydar 28.05.2010 21:54

Вот еще недавно ковырялся и что надыбал

Цитата:

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://sacred2-zone.ru/index/8-780','up780','scrollbars=1,top=0,left=0,resizable= 1,width=680,height=350');return false;">322332</a> <a class="uPM" href="http://sacred2-zone.ru/index/14-780-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s4.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s4.ucoz.net/rnk/10/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://www.clan-infibia.clan.su/user.gif" title="Бродяга" /></td><td class="uTd" align="center"><span title="21.15">2008-05-12</span></td><td class="uTd" align="center">0</td></tr>


align="center">&nbsp;</td><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="http://o-ucoze.ru/index/8-19297" target="_blank">$$$DIMAN$$$</a> <a class="uPM" href="http://o-ucoze.ru/index/14-19297-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s23.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s23.ucoz.net/rnk/16/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Простой юзер </td><td class="uTd" align="center"><span title="18:47">26.10.2009</span></td><td class="uTd" align="center">0</td>


align="center">&nbsp;</td><td class="uTd"><a href="http://megasoft.3dn.ru/index/8-26729">$$$FISHER$$$</a> <a class="uPM" href="http://megasoft.3dn.ru/index/14-26729-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s7.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://www.megasoft.3dn.ru/files/rank/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователь <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="/files/gropss/user.png" title="Ученик" /></td><td class="uTd" align="center"><span title="23:08">14.07.2009</span></td><td class="uTd" align="center">0</td><td class="uTd" align="center">Мужчина</td>
При авторизации на всех форумах есть, 1 закономерность Отправить Личное Сообщение, можно как то парсить справа налево, т.е. с "Отправить Личное Сообщение" по "">", если да то как, можете кодом помочь.

aydar 28.05.2010 23:36

Ребят, есть у кого мысли какие?

POS_troi 29.05.2010 10:58

Если топорно то Boost Regex или если C# то там есть стандартные средства регулярок.

А вообще для чего под такую задачу писать прогу на Высоких языках? Заюзай скрипт на ПхП или Перловке =/

aydar 29.05.2010 11:03

пишу на делфи, это часть проги, парсер логинов нужен, уже 3 день пытаюсь, есть только одна законномерность с Отправить Личное Сообщение по "> т.е. справа налево но как это в коде делать?

TRX.new 29.05.2010 11:29

Цитата:

Сообщение от aydar
пишу на делфи, это часть проги, парсер логинов нужен, уже 3 день пытаюсь, есть только одна законномерность с Отправить Личное Сообщение по "> т.е. справа налево но как это в коде делать?

Тебе ж сказали, читай о регулярных выражениях!

Chrome~ 29.05.2010 11:39

Лично мой вариант на Delphi, который успешно получает список пользователей из текстов вида, который ты скинул выше (нету никаких гарантий, что он работает везде):

Цитата:

sacred

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://sacred2-zone.ru/index/8-780','up780','scrollbars=1,top=0,left=0,resizable= 1,width=680,height=350');return false;">322332</a> <a class="uPM" href="http://sacred2-zone.ru/index/14-780-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s4.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s4.ucoz.net/rnk/10/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://www.clan-infibia.clan.su/user.gif" title="Бродяга" /></td><td class="uTd" align="center"><span title="21.15">2008-05-12</span></td><td class="uTd" align="center">0</td></tr>

megasoft

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="http://www.megasoft.3dn.ru/index/8-26729">$$$FISHER$$$</a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://www.megasoft.3dn.ru/files/rank/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователь <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="/files/gropss/user.png" title="Ученик" /></td><td class="uTd" align="center"><span title="23:08">14.07.2009</span></td><td class="uTd" align="center">0</td><td class="uTd" align="center">Мужчина</td></tr>

webucoz

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://webucoz.com/index/8-5255','up5255','scrollbars=1,top=0,left=0,resizabl e=1,width=680,height=350');return false;">$ergey</a> </td><td class="uTd" align="center">&nbsp;</td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s23.ucoz.net/rnk/6/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://webucoz.com/images/uuuser.png" title="Начинающий Вэбмастер" /></td><td class="uTd" align="center"><span title="02:19">10.03.2010</span></td><td class="uTd" align="center">0</td></tr>

forum

<tr><td class="uTd"><div style="float:right;"><a href="http://1988293063.unet.com/" target="_blank"><img alt="" border="0" src="http://s30.ucoz.net/img/ma/uid.gif" align="absmiddle" title="uNet профиль"></a></div><a href="http://forum.ucoz.ua/index/8-51" target="_blank">AnarchySaur</a> </td><td class="uTd" align="center">&nbsp;</td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s30.ucoz.net/rnk/1/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи </td><td class="uTd" align="center"><span title="09:55">07.10.2009</span></td><td class="uTd" align="center">0</td></tr>
Цитата:

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://sacred2-zone.ru/index/8-780','up780','scrollbars=1,top=0,left=0,resizable= 1,width=680,height=350');return false;">322332</a> <a class="uPM" href="http://sacred2-zone.ru/index/14-780-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s4.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s4.ucoz.net/rnk/10/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://www.clan-infibia.clan.su/user.gif" title="Бродяга" /></td><td class="uTd" align="center"><span title="21.15">2008-05-12</span></td><td class="uTd" align="center">0</td></tr>


align="center">&nbsp;</td><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="http://o-ucoze.ru/index/8-19297" target="_blank">$$$DIMAN$$$</a> <a class="uPM" href="http://o-ucoze.ru/index/14-19297-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s23.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s23.ucoz.net/rnk/16/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Простой юзер </td><td class="uTd" align="center"><span title="18:47">26.10.2009</span></td><td class="uTd" align="center">0</td>


align="center">&nbsp;</td><td class="uTd"><a href="http://megasoft.3dn.ru/index/8-26729">$$$FISHER$$$</a> <a class="uPM" href="http://megasoft.3dn.ru/index/14-26729-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s7.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://www.megasoft.3dn.ru/files/rank/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователь <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="/files/gropss/user.png" title="Ученик" /></td><td class="uTd" align="center"><span title="23:08">14.07.2009</span></td><td class="uTd" align="center">0</td><td class="uTd" align="center">Мужчина</td>
Текст, который необходимо спарсить вставляем в первое поле, нажимаем кнопку и результат получаем во втором поле.

Цитата:

Ссылка: http://depositfiles.com/files/yuwjqwohc
Пароль: V^#J*!J1

M_script_ 30.05.2010 11:28

Цитата:

Сообщение от aydar
пишу на делфи, это часть проги, парсер логинов нужен, уже 3 день пытаюсь, есть только одна законномерность с Отправить Личное Сообщение по "> т.е. справа налево но как это в коде делать?

Что-то неправильно - https://forum.antichat.ru/showpost.php?p=2169660&postcount=5 ?
Или с билдера на делфи переписать сложно?

aydar 30.05.2010 20:49

Да, вот в таких случаях не работает

Цитата:

<tr><td class="uTd" align="center">&nbsp;</td><td class="uTd"><a href="javascript://" rel="nofollow" onclick="window.open('http://sacred2-zone.ru/index/8-780','up780','scrollbars=1,top=0,left=0,resizable= 1,width=680,height=350');return false;">322332</a> <a class="uPM" href="http://sacred2-zone.ru/index/14-780-0-1" title="Отправить Личное Сообщение"><img alt="" border="0" align="absmiddle" src="http://s4.ucoz.net/img/ma/e1.gif" width="12" height="13" /></a> </td><td class="uTd" align="center"><img alt="" border="0" name="rankimg" src="http://s4.ucoz.net/rnk/10/rank1.gif" align="absmiddle" title="Ранг 1" /></td><td class="uTd" align="center">Пользователи <img alt="" style="margin:0;padding:0;vertical-align:middle;border:0;" name="rankimg" src="http://www.clan-infibia.clan.su/user.gif" title="Бродяга" /></td><td class="uTd" align="center"><span title="21.15">2008-05-12</span></td><td class="uTd" align="center">0</td></tr>

Chrome~ 31.05.2010 00:27

Кстати, M_script_ написал очень хороший и правильный вариант, который работает абсолютно во всех вариантах, написанных выше.

Вот его чуток измененный код, переведенный на Delphi.

Код:

var
  p: integer;
  Data: AnsiString;
  Username: String;
begin
  Data := Memo1.Text;

  while pos('<a href', Data) <> 0 do
  begin
    Delete(Data, 1, Pos('<a href', Data));
    Delete(Data, 1, Pos('>', Data));
    Username := copy(Data, 1, Pos('<', Data) - 1);
    if Username <> '' then Memo2.Lines.Add(Username);
  end;



Время: 18:43