# Урл и таймаут. set tok [::http::geturl"http://www.f1-world.ru/champ2011/champteams.php" -timeout 15000]
# Получаем содержимое страницы. set data [::http::data$tok]
# Очищаем токен.
::http::cleanup$tok
# Превращаем данные в одну строку заменив перенос строки на пустоту. regsub -all -- {\n}$data"" data
# Забираем тайтл таблицы и выводим его в канал. regexp -- {<div class=\"head10b\">(.*?)</div>} $data "" title
putserv "PRIVMSG $chan :$title"
# Забираем нужную нам часть с таблицей стран и очков.
regexp -- {<table width=\"80%\".*?>(.*?)</table>} $data "" a
# Заменяем тэги на символ | чтобы потом разбить по ним строку.
regsub -all -- {</tr> } $a "|" a
# Перебираем каждую страну разбивая строку по |, достаем номер, название и очки. Выводим в канал.
foreach line [split $a "|"] {
regexp -- {<td align=\"center\" valign=\"middle\">(.*?)</td>.*?<div class=\"head8\">(.*?)</div>.*?<td align=\"center\">(.*?)</td>.*?<td align=\"center\" valign=\"middle\">(.*?)</td>} $line "" b c d e
putserv "PRIVMSG $chan :$b$c$d$e"
}
# Процедура закончена.
}
Have fun. - Получить помощь можно на каналах#egghelpв сетиIrcNet.ruи#eggdropв сетиRusNet(Ключ канала eggdrop). Перед созданием новой темы внимательно читайтеПравила оформления топиков.
foreach line [split$a"|"]{ regexp -- {<.*?>}$line"" line
putserv "PRIVMSG $chan :$line" }
Из каждой строки вырезается все, что в <> скобках.
Have fun. - Получить помощь можно на каналах#egghelpв сетиIrcNet.ruи#eggdropв сетиRusNet(Ключ канала eggdrop). Перед созданием новой темы внимательно читайтеПравила оформления топиков.
Используя твой скрипт по биатлону, сделал для формулы. Выводит статистику нормально. Но вот как вывести не только личный зачет гонщика, но и кубок конструктора. tvrsh, можешь добавить команду для этого.
# Урл и таймаут. set tok [::http::geturl"http://www.f1-world.ru/champ2011/champdrivers.php" -timeout 15000]
# Получаем содержимое страницы. set data [::http::data$tok]
# Очищаем токен.
::http::cleanup$tok
# Проверяем на наличие сузи и перекодируем данные if{[info exists ::sp_version]}{ set data [encoding convertfrom cp1251 $data] }else{ set data [encoding convertto cp1251 [encoding convertfrom utf-8$data]] }
# Превращаем данные в одну строку заменив перенос строки на пустоту. regsub -all -- {\n}$data"" data
# Забираем тайтл таблицы и выводим его в канал. regexp -- {<div class="head10b">(.*?)</div>}$data"" title
putserv "PRIVMSG $chan :$title"
# Забираем нужную нам часть с таблицей стран и очков. regexp -- {<table class="news8" .*?>(.*?)</table>}$data"" a
# Заменяем тэги на символ | чтобы потом разбить по ним строку. regsub -all -- {</tr>}$a"|" a regsub -all -- {<a href.*?>}$a"" a regsub -all -- {<img.*?>}$a"" a regsub -all -- {<td.*?>}$a"" a regsub -all -- { }$a"n/a" a
set i 0
# Перебираем каждую страну разбивая строку по |, достаем номер, название и очки. Выводим в канал. foreach line [lrange[split$a"|"]1 end]{ if{$i<10}{ regexp -- {<tr>(.*?)</td></td><div class="head8">(.*?)</a></div></td></td><div class="head8">(.*?)</div></td>(.*?)</td>(.*?)</td>}$line"" b c d e f
putserv "PRIVMSG $chan :$b - $c - $d - $e - $f" } incr i }
# Урл и таймаут. set tok [::http::geturl"http://www.f1-world.ru/champ2011/champteams.php" -timeout 15000]
# Получаем содержимое страницы. set data [::http::data$tok]
# Очищаем токен.
::http::cleanup$tok
# Проверяем на наличие сузи и перекодируем данные if{[info exists ::sp_version]}{ set data [encoding convertfrom cp1251 $data] }else{ set data [encoding convertto cp1251 [encoding convertfrom utf-8$data]] }
# Превращаем данные в одну строку заменив перенос строки на пустоту. regsub -all -- {\n}$data"" data
# Забираем тайтл таблицы и выводим его в канал. regexp -- {<div class="head10b">(.*?)</div>}$data"" title
putserv "PRIVMSG $chan :$title"
# Забираем нужную нам часть с таблицей стран и очков. regexp -- {<table width="80%" .*?>(.*?)</table>}$data"" a
# Заменяем тэги на символ | чтобы потом разбить по ним строку. regsub -all -- {</tr>}$a"|" a regsub -all -- {<a href.*?>}$a"" a regsub -all -- {<img.*?>}$a"" a regsub -all -- {<td.*?>}$a"" a regsub -all -- { }$a"n/a" a
set i 0
# Перебираем каждую страну разбивая строку по |, достаем номер, название и очки. Выводим в канал. foreach line [lrange[split$a"|"]1 end]{ if{$i<10}{ regexp -- {<tr>(.*?)</td></td><div class="head8">(.*?)</div></td>(.*?)</td>(.*?)</td>}$line"" b c d e
putserv "PRIVMSG $chan :$b - $c - $d - $e" } incr i }
# Процедура закончена. }
Have fun. - Получить помощь можно на каналах#egghelpв сетиIrcNet.ruи#eggdropв сетиRusNet(Ключ канала eggdrop). Перед созданием новой темы внимательно читайтеПравила оформления топиков.