Зеркальное отражение stackexchange включая внешние изображения

Принятие дат похоже на "HH:MM", поскольку у Вас есть шоу и предположение, что дата появляется в 2-м поле, можно использовать awk:

awk -v start=00:00 -v stop=09:00 'start <= $2 && $2 < stop' file.log

[напыщенная речь] я вполне слежу за форматированием даты, и этот ужасен: какая дата является "09/10/11"? [/напыщенная речь]

Так или иначе, принимая это это "YY/MM/DD"

awk -v date="$(date +%y/%m/%d)" \
    -v start=00:00:00 \
    -v stop=09:00:00 \
    -v search="File format not found" \
'$1 == date && start <= $2 && $2 < stop && $0 ~ search' file.log
3
09.11.2014, 19:09
1 ответ

Во-первых, остерегайтесь этикета скребков, иначе вы заблокируетесь/заглушите .

Если вы увлекаетесь программированием, то вы можете подумать об использовании stackexchange API вместо него, например, расширяясь на одном из stackapps типа stackprinter. См. эти meta и связанные вопросы для получения дополнительных способов доступа к данным и приложениям, которые это делают.

Но из вашего вопроса я догадываюсь, что вам лучше всего будет просто воспользоваться любым оффлайн ридером Atom/RSS для подписки на изменения на вашей учетной записи

EDIT1: Если вы просто хотите, чтобы тот же самый сайт был доступен, когда вы находитесь в автономном режиме, возможно, лучше всего просто использовать кэширование HTTP прокси. Например, у меня был хороший опыт работы с wwwoffle (он никогда ничего не просрочен, если вы не скажете об этом вручную, и даже вспомните, по каким ссылкам вы нажали, что они недоступны в автономном режиме, так что вы получите их в следующий раз, когда выйдете в интернет), но почти любой кэширующий прокси сделает это, если вы его правильно настроите (особенно это касается времени ограничения диска/времени истечения срока годности). Если вы не хотите кэшировать весь интернет (как вы обычно не делаете этого в таких случаях), вам нужно либо настроить прокси для кэширования только некоторых URL, либо сделать это в самом веб-браузере (через плагины типа foxyproxy или используя простой .pac файл. Это будет работать красиво и прозрачно, не требует программирования и даже уменьшит нагрузку на SE-сайты (вместо того, чтобы забивать их большим количеством запросов за короткое время, как в примере с экранированием)

Если вы все еще настаиваете на использовании экранирования, это сработает, но вы должны будете тщательно ограничить его, чтобы получить только то, что вам нужно, и не более (и продолжать обновлять скрипт по мере изменения сайтов), и добавить задержки между извлечениями URL, чтобы предотвратить блокировку, и повторно использовать существующее кэшированное содержимое, если оно не изменилось (wget --mirror и т.д.). Но, скорее всего, это потребует некоторого программирования для получения более тонких нюансов (даже если в shell'е с sed/awk).

Пожалуйста, в таких случаях всегда устанавливайте пользователь-агент (например, --user-agent="RuboScraper-1.1"), чтобы когда скрипт все-таки заблокируется, он не блокировал остальные ненавязчивые wgets в мире. И когда вы заставите его работать, поместите его на stackapps и сделайте ссылку отсюда на него, так что другим пользователям не придется заново изобретать, чтобы колесить и делать все, что натыкается на стены.

2
27.01.2020, 21:27

Теги

Похожие вопросы