- Автор темы
- #1
Приветствую!
В общем нужно помощь)))
Сам вопрос такой - есть скрипт который собирает ники юзерей с vbulletin форума, он это делает посредством открывания профиля /member.php?u=ид юзеря, и грабинга текста после"просмотр профиля:"
Но в булке под каждым ником подписана группа. И вот я очень хочу модифицировать этот скрипт таким образом что-б можно было грабить по определеным групам. Т.е. пример:
avstrija.com/forum/member.php?u=3798 - Группа "Новичок"
avstrija.com/forum/member.php?u=6744 - Группа "пионер-герой"
Хочеться что-б скрипт брал только ники тех юзерей которые имеют группу "пионер-герой"
вот функция грабинга юзерей
Вот в этом участке
Нужно рыть, но увы я еще очень слабо понимаю пхп что-б сделать это самостоятельно (((
Огромное спасибо!
В общем нужно помощь)))
Сам вопрос такой - есть скрипт который собирает ники юзерей с vbulletin форума, он это делает посредством открывания профиля /member.php?u=ид юзеря, и грабинга текста после"просмотр профиля:"
Но в булке под каждым ником подписана группа. И вот я очень хочу модифицировать этот скрипт таким образом что-б можно было грабить по определеным групам. Т.е. пример:
avstrija.com/forum/member.php?u=3798 - Группа "Новичок"
avstrija.com/forum/member.php?u=6744 - Группа "пионер-герой"
Хочеться что-б скрипт брал только ники тех юзерей которые имеют группу "пионер-герой"
вот функция грабинга юзерей
Код:
$handle = fopen($list, "w");
if ($all === 1) {$startpos = 1; $endpos = $count[1]; echo "<b>[i]switched to full mode</b><br>";}
else {echo "<b>[i]grabbing from $startpos to $endpos</b><br>";}
for ($u = $startpos; $u <= $endpos; $u++)
{
$sock = fsockopen($host, 80, $errno, $errstr, 10);
if (!$sock) {$u = $u - 1; echo "socket error at $u - retrying"; continue;}
stream_set_timeout($sock, 60);
fputs($sock, "GET http://$path/member.php?u=$u HTTP/1.1\r\n");
fputs($sock, "Host: $host\r\n");
fputs($sock, "Connection: Close\r\n\r\n");
while (!feof($sock))
{
$line = fgets($sock);
$nick = preg_split("/просмотр профиля:\s|<\/title>/i", $line);
if ($nick[1]) {break;}
}
if ($nick[1] === "\r\n") {continue;}
if (empty($nick[1])) {if ($all === 1){$u = $u -1;} continue;}
if (!preg_match("/[а-я]+/i", $nick[1]))
{
$str = $nick[1]."\r\n";
//$str = $nick[1]."\r\n";
fwrite($handle, $str);
echo "$u: $str<br>";
$i = $i + 1;
}
fclose($sock);
}
fclose($handle);
Код:
{
$line = fgets($sock);
$nick = preg_split("/просмотр профиля:\s|<\/title>/i", $line);
if ($nick[1]) {break;}
}
if ($nick[1] === "\r\n") {continue;}
if (empty($nick[1])) {if ($all === 1){$u = $u -1;} continue;}
if (!preg_match("/[а-я]+/i", $nick[1]))
Огромное спасибо!