Подскажите по вэб-сканеру

Страницы: 1 2  ОТВЕТИТЬ НОВАЯ ТЕМА
AleXXX82 16 мар 2023 в 11:40
Деградирую  •  На сайте 10 лет
Сообщений: 2 791
2
Всем привет.
Не то, чтобы очень надо, но если стоит недорого или есть уже готовое решение, было бы здорово.

Вводные данные:
Каждые 5 часов (плюс минус 1-2 минуты) на странице происходят изменения.
http://rus-fishsoft.ru/fish-prices.html
У рандомного списка рыб в автоматическом режиме появляется значок. На картинке обозначил.

Задача:
Чтобы не в ручную это дело мониторить, а чтобы раз в 2-3 часа например какая-то программа, бот, робот, я хрен знает как назвать, присылал бы на почту список рыб у которых данный значок в текущем моменте времени.

Буду признателен за помощь и советы.

ЗЫ: да, это для игры, и да , мне делать не хуй. alik.gif

На просторах попалась такая статья
https://medium.com/nuances-of-programming/%...on-f731017fa803

Но для меня это азбука морзе, хотя и написано вроде как элементарно )

Подскажите по вэб-сканеру

Это сообщение отредактировал AleXXX82 - 16 мар 2023 в 11:42
Yap 27.07.2026 - 21:18
Продам слона  •  На сайте 21 год
Все комментарии:
Мaриуполь 16 мар 2023 в 11:43
Юморист  •  На сайте 3 года
1
у тебя боты их на электроудочки ловят?
AleXXX82 автор 16 мар 2023 в 11:44
Деградирую  •  На сайте 10 лет
0
Цитата (Мaриуполь @ 16.03.2023 - 11:43)
у тебя боты их на электроудочки ловят?

у меня нет ботов, играю то я сам.
Просто не всегда получается мониторить двойную цену. И вот чего-то придумалось такая херня.
22lr 16 мар 2023 в 11:44
Ярила  •  На сайте 5 лет
3
22lr 16 мар 2023 в 11:45
Ярила  •  На сайте 5 лет
0
не знаю как на почту но звуковой сигнал есть и уведомление всплывающее
AleXXX82 автор 16 мар 2023 в 11:46
Деградирую  •  На сайте 10 лет
0
Цитата (22lr @ 16.03.2023 - 11:44)
хром и это https://chrome.google.com/webstore/detail/d...pehgadgge?hl=ru

Да лан, все так просто? Просто расширение и пздц? blink.gif
Мaриуполь 16 мар 2023 в 11:48
Юморист  •  На сайте 3 года
0
Цитата (AleXXX82 @ 16.03.2023 - 11:44)
Цитата (Мaриуполь @ 16.03.2023 - 11:43)
у тебя боты их на электроудочки ловят?

у меня нет ботов, играю то я сам.
Просто не всегда получается мониторить двойную цену. И вот чего-то придумалось такая херня.

какой тогда смысл автоматизировать игру?или там есть бонусы с наличкой?
AleXXX82 автор 16 мар 2023 в 11:48
Деградирую  •  На сайте 10 лет
0
Цитата (22lr @ 16.03.2023 - 11:45)
не знаю как на почту но звуковой сигнал есть и уведомление всплывающее

Ну прикол в том, что каждые пять часов там изменения во всей таблице, как минимум по кол-ву проданых за последние 5 часов, и плюс эти значки цепляются на других рыбок на след 5 часов.
AleXXX82 автор 16 мар 2023 в 11:49
Деградирую  •  На сайте 10 лет
0
Цитата (Мaриуполь @ 16.03.2023 - 11:48)
Цитата (AleXXX82 @ 16.03.2023 - 11:44)
Цитата (Мaриуполь @ 16.03.2023 - 11:43)
у тебя боты их на электроудочки ловят?

у меня нет ботов, играю то я сам.
Просто не всегда получается мониторить двойную цену. И вот чего-то придумалось такая херня.

какой тогда смысл автоматизировать игру?или там есть бонусы с наличкой?

Бля, да речь не об автоматизации игры
. Игра сама по себе идет. Просто на оф сайте указывается список рыб с двойной ценой. Игра никак не завязана на сайт. У игры свой клиент и свои сервера.
И ты можешь например копить определенный вид рыбок и пока не продавать, чтобы потом заработать внутригировой в два раза больше. Вот и весь замысел.

Это сообщение отредактировал AleXXX82 - 16 мар 2023 в 11:50
DedSanya 16 мар 2023 в 11:52
Хохмач  •  На сайте 5 лет
0
Кликерманн.
Мaриуполь 16 мар 2023 в 11:54
Юморист  •  На сайте 3 года
0
Цитата
И ты можешь например копить определенный вид рыбок и пока не продавать, чтобы потом заработать внутригировой в два раза больше. Вот и весь замысел.

это называется читерство,и обычно за него сразу банят
AleXXX82 автор 16 мар 2023 в 12:00
Деградирую  •  На сайте 10 лет
0
Цитата (Мaриуполь @ 16.03.2023 - 11:54)
Цитата
И ты можешь например копить определенный вид рыбок и пока не продавать, чтобы потом заработать внутригировой в два раза больше. Вот и весь замысел.

это называется читерство,и обычно за него сразу банят

Какое такое читерство? Еще раз говорю, никакой связи с игрой нет.
И сейчас не запрещено копить . Собирай сколько хочешь и жди двойной цены.
Это норма. Просто руками не всегда получается отмониторить.

Это сообщение отредактировал AleXXX82 - 16 мар 2023 в 12:01
Aberrant 16 мар 2023 в 17:29
На фоксе! Всегда!  •  На сайте 5 лет
1
Цитата (AleXXX82 @ 16.03.2023 - 11:46)
Цитата (22lr @ 16.03.2023 - 11:44)
хром и это https://chrome.google.com/webstore/detail/d...pehgadgge?hl=ru

Да лан, все так просто? Просто расширение и пздц? blink.gif

неа, не просто.
эта штука только оповестит о том, что изменения есть,
но не покажет то, что тебе нужно


в теории, там нет ничего сложного.

нужно забрать по CURL данные с "http://rus-fishsoft.ru/fish-prices.html",
по DOM вытянуть таблицу, содержащуюся в родителе с классом "table_data_outer",
опять же по DOM пройтись по дереву и собрать в массив все строки, в которых есть потомок с классом "big_price"

потом вывести этот массив в удобном виде куда угодно.

какой бюджет? rulez.gif
AleXXX82 автор 16 мар 2023 в 21:28
Деградирую  •  На сайте 10 лет
1
Цитата (Aberrant @ 16.03.2023 - 17:29)
Цитата (AleXXX82 @ 16.03.2023 - 11:46)
Цитата (22lr @ 16.03.2023 - 11:44)
хром и это https://chrome.google.com/webstore/detail/d...pehgadgge?hl=ru

Да лан, все так просто? Просто расширение и пздц? blink.gif

неа, не просто.
эта штука только оповестит о том, что изменения есть,
но не покажет то, что тебе нужно


в теории, там нет ничего сложного.

нужно забрать по CURL данные с "http://rus-fishsoft.ru/fish-prices.html",
по DOM вытянуть таблицу, содержащуюся в родителе с классом "table_data_outer",
опять же по DOM пройтись по дереву и собрать в массив все строки, в которых есть потомок с классом "big_price"

потом вывести этот массив в удобном виде куда угодно.

какой бюджет? rulez.gif

Ну пиво ) Я ж так, поинтересовался. Мож это в экселе можно сделать lol.gif
dmi6602 16 мар 2023 в 21:40
Ярила  •  На сайте 16 лет
-3
ТС, то, что ты хочешь сделать имеет название графический бот. Например, хабр
Особо там ничего сложного, можно попробовать на эту задачу дёрнуть chatGPT.
Вообще, это, как выше сказали, не есть хорошо.
Aberrant 16 мар 2023 в 22:12
На фоксе! Всегда!  •  На сайте 5 лет
0
Цитата (dmi6602 @ 16.03.2023 - 21:40)
ТС, то, что ты хочешь сделать имеет название графический бот. Например, хабр
Особо там ничего сложного, можно попробовать на эту задачу дёрнуть chatGPT.
Вообще, это, как выше сказали, не есть хорошо.

ты это, не жри больше незнакомые грибы, ага!

где ты в парсинге по дереву DOM нашёл место "графическому боту"?
документ нужно разобрать, а не картинки на экране искать lol.gif
Aberrant 16 мар 2023 в 22:16
На фоксе! Всегда!  •  На сайте 5 лет
0
Цитата (AleXXX82 @ 16.03.2023 - 21:28)
Ну пиво ) Я ж так, поинтересовался. Мож это в экселе можно сделать lol.gif

вот нифига не удивлюсь, если это реально можно в экселе сделать.

но специалист в экселе должен быть очень хороший,
тогда как распарсить вэб-страничку средствами PHP, Python или даже JS, куда как проще.

и да, это реально можно сделать на JS - тогда даже сервер тебе никакой не понадобится.
просто будешь открывать в любом браузере html-файлик (хоть на тилипоне) и на нём через секунду будет нужный тебе список рыб с повышенной ценой,
обновил файлик в браузере - скрипт ещё раз забрал содержимое документа и пересобрал твой список заново.
Aberrant 16 мар 2023 в 22:31
На фоксе! Всегда!  •  На сайте 5 лет
1
хотя нет, ошибаюсь я.
если пытаться забрать документ через JS, то получишь CORS, ибо запрещено политиками браузера.

так что да, нужно это на PHP или Python
ну, или какой там ещё язык ближе тому, кто возьмётся.

Это сообщение отредактировал Aberrant - 16 мар 2023 в 22:31
Aberrant 17 мар 2023 в 01:31
На фоксе! Всегда!  •  На сайте 5 лет
3
да блин, проще написать, чем обсуждать...

держи: https://semantic.moscow/fishs/

с отправкой на почту будет сложнее (мне лениво чинить msmtp на сервере - может всё дело в грёбаном smtp мэйлру)

главное, что всё элементарно парсится, выдёргиваются названия нужных рыб из списка и отображаются по запросу
Aberrant 17 мар 2023 в 01:33
На фоксе! Всегда!  •  На сайте 5 лет
3
предвижу вопросы...
сразу же: это моя кошка писала на домофоне
Код
<?php
$dom = new DOMDocument('1.0','utf-8');
@$dom->loadHTMLFile('http://rus-fishsoft.ru/fish-prices.html');
$tb = $dom->getElementsByTagName('tbody');
foreach($tb[0]->childNodes as $tr){
$tds = $tr->getElementsByTagName('td');
if($tds->item(0)->getElementsByTagName('span')->item(1)){
echo $tds[2]->textContent.PHP_EOL;}}
die;
?>

Это сообщение отредактировал Aberrant - 17 мар 2023 в 01:38
Sa1N7 17 мар 2023 в 17:47
Ярила  •  На сайте 13 лет
-1
Цитата (Aberrant @ 17.03.2023 - 01:31)
да блин, проще написать, чем обсуждать...

держи: https://semantic.moscow/fishs/

с отправкой на почту будет сложнее (мне лениво чинить msmtp на сервере - может всё дело в грёбаном smtp мэйлру)

главное, что всё элементарно парсится, выдёргиваются названия нужных рыб из списка и отображаются по запросу

А на почту ему теперь и не надо. Достаточно расширения хрома, которое будет сюда смотреть и уведомлять об изменениях любым способом.

Размещено через приложение ЯПлакалъ
Aberrant 17 мар 2023 в 18:12
На фоксе! Всегда!  •  На сайте 5 лет
1
Цитата (Sa1N7 @ 17.03.2023 - 17:47)
Цитата (Aberrant @ 17.03.2023 - 01:31)
да блин, проще написать, чем обсуждать...

держи: https://semantic.moscow/fishs/

с отправкой на почту будет сложнее (мне лениво чинить msmtp на сервере - может всё дело в грёбаном smtp мэйлру)

главное, что всё элементарно парсится, выдёргиваются названия нужных рыб из списка и отображаются по запросу

А на почту ему теперь и не надо. Достаточно расширения хрома, которое будет сюда смотреть и уведомлять об изменениях любым способом.

да ему то и уведомления не нужны.
он и так знает, что там примерно раз в 5 часов
и смотреть он туда будет только когда играется


а по факту,
всё это было бы не нужно, если бы вэбмастер "рыбок" сделал простейшую сортировка на JS в той таблице
Котовоз 17 мар 2023 в 23:52
Балагур  •  На сайте 5 лет
0
Если уж совсем нечего делать, с отправкой на мыло раз в два часа, проверять лень.
Код

<?php
// устанавливаем таймзону
date_default_timezone_set('Europe/Moscow');

// задаем адрес страницы, которую будем парсить
$url = 'http://rus-fishsoft.ru/fish-prices.html';

// определяем, как часто нужно проверять страницу (в секундах)
$check_interval = 7200;

// задаем email адрес, на который будут отправляться данные
$email = '[email protected]';

// подключаем библиотеку PHPMailer
require_once('path/to/PHPMailer.php');

// создаем новый объект DOMDocument и загружаем страницу
$dom = new DOMDocument('1.0', 'utf-8');
@$dom->loadHTMLFile($url);

// находим все таблицы на странице и получаем первую таблицу
$tables = $dom->getElementsByTagName('table');
$table = $tables[0];

// создаем массив, в котором будем хранить названия рыб с значком
$fish_with_icon = array();

// получаем текущее время
$current_time = time();

// проходим по всем строкам таблицы
foreach ($table->getElementsByTagName('tr') as $tr) {
   // получаем ячейки в текущей строке
   $tds = $tr->getElementsByTagName('td');
   
   // проверяем, есть ли значок в текущей ячейке
   $icon_span = $tds[0]->getElementsByTagName('span')->item(1);
   if ($icon_span) {
       // получаем время, когда был добавлен значок
       $icon_time = strtotime($icon_span->getAttribute('title'));
       
       // проверяем, прошло ли достаточно времени с момента появления значка
       if ($current_time - $icon_time <= $check_interval) {
           // добавляем название рыбы в массив
           $fish_with_icon[] = $tds[2]->textContent;
       }
   }
}

// если в массиве есть названия рыб, отправляем их на email
if (count($fish_with_icon) > 0) {
   $mail = new PHPMailer\PHPMailer\PHPMailer();

   // задаем параметры для отправки email
   $mail->isSMTP();
   $mail->Host = 'smtp.gmail.com';
   $mail->SMTPAuth = true;
   $mail->Username = '[email protected]';
   $mail->Password = 'your_email_password';
   $mail->SMTPSecure = 'tls';
   $mail->Port = 587;

   $mail->setFrom('[email protected]');
   $mail->addAddress($email);
   $mail->Subject = 'Список рыб с значком на странице http://rus-fishsoft.ru/fish-prices.html';
   $mail->Body = implode(PHP_EOL, $fish_with_icon);

   $mail->send();
}
?>


Это сообщение отредактировал Котовоз - 18 мар 2023 в 00:20
Aberrant 18 мар 2023 в 01:16
На фоксе! Всегда!  •  На сайте 5 лет
0
Котовоз
неее! подключаемые библиотеки, чужие, это не наш метод!

PHPMailer существует только потому, что кто-то очень не хочет думать,
хотя по концовке, думать всё равно придётся, ибо ни один smtp тебя просто так больше не пустит, а иначе письмо автоматом попадёт в спам.

так что всё делаем по взрослому.
вместо стандартного sendmail ставим хотя бы msmtp, настраиваем профили
и отправляем почту нативно,
например
Код
$to = '[email protected]';
$subject = 'Новое уведомление';
$headers = array('From' => '[email protected]','X-Mailer' => 'Фисташка v2.0.7-r1','X-PHP-Script' => Фисташка v2.0.7-r1','Content-type' => 'text/html; charset="UTF-8"');

$message = 'от: '.$name.'<br/>';
$message .='телефон: <a href="tel:+7'.$tel.'">+7'.$tel.'</a><br/>';
$message .='дата и время: '.$date.' '.$time.'<br/>';
$message .='что-то происходит непонятное: '.$happening[$fucking];

mail($to,$subject,$message,$headers);
ну и конечно в конфигах PHP выставляем уровень логов и отдельные настройки для vhosts для каждого "site.domen"

да, при переезде на дешманский хостинг возникнут проблемы с настройками sendmail, но если уж нужно почтой управлять, то наверное и не стоит выбирать такие хостинги

Это сообщение отредактировал Aberrant - 18 мар 2023 в 01:16
Aberrant 18 мар 2023 в 01:27
На фоксе! Всегда!  •  На сайте 5 лет
0
Котовоз
Цитата
// находим все таблицы на странице и получаем первую таблицу
ты и так уже знаешь, что таблица первая, и даже, что она там деинственная,
так что имеет смысл сразу брать первый tbody


а вот тут:
Цитата
// получаем время, когда был добавлен значок
      $icon_time = strtotime($icon_span->getAttribute('title'));
давай поподроблнее lol.gif
какое время ты сравниваешь, откуда ты его берёшь и где ты там увидел атрибут "'title"?

ты откуда код скопипастил? lol.gif
Понравился пост? Ещё больше интересного в ЯП-Телеграм и ЯП-Max!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 2 860
0 Пользователей:
Страницы: 1 2  ОТВЕТИТЬ НОВАЯ ТЕМА

 
 

Активные темы



Наверх