danforth

danforth
Рейтинг
153
Регистрация
18.12.2015

Милторг родился в городе-герое Калининиград.

Вы вообще в склонения можете? Вам скинули пример, попробуйте его засунуть в прогу вашу.

Юрас, тоже сталкивался с такой проблемой, но у другого хостинга. Тут сама специфика cPanel убогая. Сама панель вроде как ничего, зато домены как сабдомены основного, и прочие мелкие нелогичности вызывают недопонимание. Я долго привыкал, и не понимал зачем так сделано.

miltorg:
То есть Перл и тут побеждает?

Автор, перл уже давно проиграл. Он уже нигде не побеждает.

Аж стало интересно: вот пример программы на Go, которую написал примерно за 10 минут

  • Умеет в -help
  • Умеет во флаги -time 10 -url https://searchengines.guru/
  • Выводит в консоль дату, когда было замечено изменение страницы
  • Кроссплатформенная
  • Бинарное сравнение, никаких length

Итого в коде: 40 строк и 5мб бинарник.

Из минусов: так как на страницах часто генерируются всякие _csrf токены, и прочие спрятанные инпуты с рандомным значением, в большинстве случаев определяет страницу как модифицированную.

За минут 5-10 можно дописать, чтобы программа принимала порог изменения в процентах от нуля до ста, и на основании расчета, писала или не писала в лог. Да и файл тоже можно прикрутить.

Отвечая на вопрос автора: получение html содержимого страницы с помощью одной строки возможно.

response, err := http.Get("http://site.ru")
Amigo_9876:
Что еще можно предпринять, чтобы уменьшить нагрузку на сайт?

Нагрузку на сервер можно снизить с помощью кеширования, рефакторинга кода, оптимизации тяжелых запросов. Но быстрее всего, конечно, кеширование. Большая часть из проделанной вами работы повлияет только на скорость загрузки сайта. Если хотите более подробный ответ - напишите в ЛС. Попробую помочь.

JIenpukoH:
Для такого сервера 30к в день это же херня.

Вот мой htop для посещаемости ~30к в день

Мой htop при посещаемости 2 тысячи запросов в секунду где-то также выглядит, на более слабой машине. Тут дело не в количестве запросов, а в том как все настроено. В 95% случаев можно настроить все таким образом, что нагрузка будет просто смешной. При этом сайт будет работать в разы быстрее. Оптимизация наше все.

И все ради строчки "Hello, world!".

miltorg:
То есть никакие с++ и Делфи тут не канают?

Канают. Все канает. Уметь надо.

Легко, вот пример на Go. Многопоточно.

package main


import (
"fmt"
"io/ioutil"
"net/http"
"os"
)

func main() {
ch := make(chan []byte)
for _, v := range os.Args[1:] {
go (func(c chan []byte, v string) {
html, err := http.Get(v)
if err != nil {
panic("Oh My God!")
}
resp, _ := ioutil.ReadAll(html.Body)
ch <- resp
})(ch, v)
html := <-ch
fmt.Println(string(html[:]))
}
}

Ссылка на файл. http://sendfile.su/1289776

Запускать так: htmlcmd.exe http://site1.ru http://site2.ru http://site.ru ... и т.д.

6666:
А почему у экипажа не бывает оружия? Незаконно?

Да, незаконно. Потому что на флоте часто сходят с ума, драки из-за того, кто чью жену чпокает, и т.д. Особенно актуально среди "наших", которые по синьке могут друг друга и за борт повыкидывать. Алкоголь по тем же причинам во многих компаниях запрещен, и я считаю правильно.

Могут нанять вооруженную охрану, у которых есть лицензия на оружие, военная подготовка, и так далее. Но часто ограничиваются сетками и колючкой.

KGB:
Ну да, точно, недочитал, каюсь

Да нет, это скорее быстро-фикс был. Я отредактировал пост сразу после того, как понял, что все равно не внес однозначности. Видимо, отредактировал сразу после того, как вы завершили чтение, и преступили к написанию ответа.

Оптимизайка:
javascript & ajax

Да, но нужны именно веб-сокеты. Часть проекта будет риал-тайм. Это раз. Два - я знаю про JavaScript и AJAX. Мне нужны фреймворки или другие инструменты, которые позволяют отслеживать переходы по URL, уметь определять компоненты, которые будут заменены, а какие будут оставлены. Нужно чтиво, мануалы, но я не знаю как гуглить.

Всего: 1540