Author Topic: граб HTML  (Read 3483 times)

0 Members and 1 Guest are viewing this topic.

msgkumisi

  • Освоившийся
  • **
  • Posts: 22
    • View Profile
граб HTML
« on: October 16, 2015, 09:48:29 AM »
можно ли сделать вот такую штуку:
Code: (clickermann) [Select]
IF(TOCLIP(TFREAD("html://название сайта", 185))) // скопировать с кода сайта 185-ю строку

waitms(100)
   $str = STRFILTER(FROMCLIP(), "1234567890", 1) // будет удалено все кроме этих символов
   $cifra = int($str / 100000)
waitms(100)
// запись в лог
print("цифра:", $cifra )
 END_IF

IF(ROUND(STRREPLACE($cifra,",","."), 0) > 10000) // проверит цифры из буфера, скажем в буфере "916,50"
waitms(100)
   // запись в лог
print("найдена цифра:", FROMCLIP())
END_IF
halt

185-я  строка   (<div class="field-ar"><a href="/account/insert">1456</a>  <span style="margin:3px 10px 0px 0px;">[покупки]</span></div>)
"

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: граб HTML
« Reply #1 on: October 16, 2015, 10:15:34 AM »
А ничего, что TFREAD это чтение файла?
Как бы запрос по сети и чтение файла совсем разные вещи.

Почему число сначало участвует в вычислениях и только потом запятая меняется на точку? Кстати откуда там запятая возьмётся?

А вот это
Code: (clickermann) [Select]
print("найдена цифра:", FROMCLIP())даже если предположить, что сделаешь всё остальное правильно, FROMCLIP() будет содержать всю строку. Какая "цифра".

Ну а покороче, существующими средствами у тебя не получится. Без доп средств споткнётся о кавычки, равно и т.д.


msgkumisi

  • Освоившийся
  • **
  • Posts: 22
    • View Profile
Re: граб HTML
« Reply #2 on: October 16, 2015, 10:33:20 AM »
сделаем по другому:
вот сайт: html://название сайта
я хочу с кода этого сайта скопировать 185-ю строку:
[spoiler]
<div class="field-ar"><a href="/account/insert">1456</a>  <span style="margin:3px 10px 0px 0px;">[покупки]</span></div>
[/spoiler]
убрать все кроме цифр. по идее должно получится :  145631000
убираем последние 5 цифр и получаем 1456
потом
Code: (clickermann) [Select]
// запись в лог
print("найдена цифра:", FROMCLIP())
и HALT

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: граб HTML
« Reply #3 on: October 16, 2015, 12:05:28 PM »
Получить страницу ты можешь командой
$text = HTTPGET("адрес страницы")
хоть в переменную, хоть в буфер обмена.
Но средствами кликера, без помощи сторонних программ ты не достанешь именно 185 строку.


И ещё раз. В FROMCLIP() у тебя никакого числа НЕТ. Ты его туда не ложил. Там код всей страницы.


Луций

  • Активный участник
  • ***
  • Posts: 248
  • чат в телеге: https://t.me/klickermannchat
    • View Profile
    • Пишу скрипты на заказ:
Re: граб HTML
« Reply #4 on: October 16, 2015, 12:24:52 PM »
как это не получишь?

в браузере контрол+u вот тебе и код страницы, берем его весь и пишем в файл, потом оттуда вытаскиваем любую строку

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: граб HTML
« Reply #5 on: October 16, 2015, 01:25:32 PM »
Ну ладно, ладно...
Code: (clickermann) [Select]
$text = HTTPGET("http://crapware.aidf.org/forum/index.php")

TFWRITE ("file.txt", $text)
$str = TFREAD("file.txt", 185)
LOGWRITE ($str)

но без сторонней программы теперь достань значение из строки
(<div class="field-ar"><a href="/account/insert">1456</a>  <span style="margin:3px 10px 0px 0px;">[покупки]</span></div>)


dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: граб HTML
« Reply #6 on: October 16, 2015, 02:14:16 PM »
Ну ладно, ладно...
Code: (clickermann) [Select]
$text = HTTPGET("http://crapware.aidf.org/forum/index.php")

TFWRITE ("file.txt", $text)
$str = TFREAD("file.txt", 185)
LOGWRITE ($str)

но без сторонней программы теперь достань значение из строки
(<div class="field-ar"><a href="/account/insert">1456</a>  <span style="margin:3px 10px 0px 0px;">[покупки]</span></div>)

 :-\ работает, и в файл записывается штмл код без единой ковычки.
значит и строка
Code: [Select]
<div class="field-ar"><a href="/account/insert">1456</a>  <span style="margin:3px 10px 0px 0px;">[покупки]</span></div> возможно запишется без ковычек.
вообще HTTPGET както странно работает. была у меня както задача проверять на странице https://cit2.net/index.php?page=players
искать нежелательных игроков. так вот $text = HTTPGET("https://cit2.net/index.php?page=players") срабатывает изредка, чаще вылазит ошибка либо возвращает пустую строку.никакой зависимости от размера кода не нашел.



вот, нашел тот скрипт, который срабатывал изредка
[spoiler]
Code: (clickermann) [Select]
$t=$_time_t
$group = "HoBoS"


print("write")
TFClear("group.txt")
STRWRITELN("group.txt",HTTPGET("http://cit2.net/index.php?page=players"))


print("search")
$count = TFCOUNT("group.txt")
FOR($str_n=1,$str_n < $count)
   
   $amt = strpos(TFREAD("group.txt", $str_n), STRCONCAT("<td>",$group, "</td>"))
   IF($amt>0)
      inc($n)
   END_IF
   
   waitms(5)
END_CYC

print($group," - ", $n, " peoples")
print("for ",$_time_t-$t,"sec.")

halt
[/spoiler]

проверил сеучас, первых 2 запуска - ошибка HTTPGET, потом, что странно, работало норм.
так вот, немного изменив его, можно искать /account/insert в тексте.
после чего вырезать нужную часть строки.
както так

Code: (clickermann) [Select]
$t=$_time_t

print("write")
TFClear("text.txt")
STRWRITELN("text.txt",HTTPGET("http://твой сайт"))


print("search")
$count = TFCOUNT("text.txt")
FOR($str_n=1,$str_n < $count)
   
   $amt = strpos(TFREAD("text.txt", $str_n), STRCONCAT("account/insert>"))
   IF($amt>0)
     
      $str = STRCUT (TFREAD("text.txt", $str_n), $amt+16, strpos(TFREAD("text.txt", $str_n), STRCONCAT("</a>  <span style")))
      print("значение ", $str)
      print("for ",$_time_t-$t,"sec.")
      halt
   END_IF
   
   waitms(5)
END_CYC
print("не найдено")
print("for ",$_time_t-$t,"sec.")

halt

возможны ошибки, писал находу, не проверял.
« Last Edit: October 16, 2015, 02:47:15 PM by dramster »