Рубрики
Без рубрики

Густаво смотрит через телескоп

Я собираюсь интегрировать Gustavo, проверку статуса HTTP, с телескопом … Теги с Opensource, Python.

Я собираюсь интегрировать Густаво , проверка состояния HTTP, с телескопом

Сенека-КДОТ/Телескоп

Инструмент для отслеживания блогов на орбите вокруг с открытым исходным кодом Seneca

>>> brew install npm
>>> brew install redis
>>> brew tap elastic/tap
>>> brew install elastic/tap/elasticsearch-full

Теперь вы можете открыть три оконные окна, чтобы запустить свой локальный сервер TeleScope:

  1. >>> Redis-Server
  2. >>> elasticsearch
  3. >>> NPM. Начните

Если все работает правильно, открывая браузер к http://localhost: 3000/посты следует отобразить массив 10 JSON объектов.

[{"id":"979c6d3eb5","url":"/posts/979c6d3eb5"},
{"id":"f1f56132fd","url":"/posts/f1f56132fd"},
{"id":"6413f59523","url":"/posts/6413f59523"},
{"id":"a0d10ce9e7","url":"/posts/a0d10ce9e7"},
{"id":"476491f37d","url":"/posts/476491f37d"},
{"id":"d5eed3b8ec","url":"/posts/d5eed3b8ec"},
{"id":"b1f2991c27","url":"/posts/b1f2991c27"},
{"id":"6fc08da083","url":"/posts/6fc08da083"},
{"id":"1aca420d0f","url":"/posts/1aca420d0f"},
{"id":"6ba1ae431a","url":"/posts/6ba1ae431a"}]

Далее я хотел обновить Густаво Чтобы проверить HTTP-статус вышеуказанных URL. Gustavo работает, поиск через файл для любой строки, которая начинается с Http:// или Https:// и создает список всех матчей. Этот список затем обрабатывается. Я знал, что программа будет работать, если бы я мог изготовить список полностью сформированных URL-адресов от вышеупомянутого JSON.

Я обновил args.py Чтобы обрабатывать дополнительные флаги -t или --Телескоп Отказ

parser.add_argument('-f', '--file', action='store', dest='source', default='', help='location of source file')
parser.add_argument('-t', '--telescope', action='store_const', dest='source', const='TELESCOPE', help='check recent posts indexed by Telescope')

Вместо того, чтобы указывать путь к файлу, используя -t или --Телескоп Флаги сохранят строку Телескоп к исходной переменной. Программа нормально работает до get_list () Функция называется. На данный момент, если значение исходной переменной равен ТЕЛЕСКОП следующий код выполняется.

posts = requests.get('http://localhost:3000/posts')
urls = re.findall('/posts/[a-zA-Z0-9]{10}', posts.text)
return ['http://localhost:3000' + url for url in urls]    

Что оно делает?

  • Сначала запрос сделан в API REST Server для постов.
  • Далее список URL-адресов, если они созданы, используя регулярное выражение, чтобы найти все уникальные 10-значные идентификаторы.
  • Используя понимание списка, домен добавляется к каждому URL.

Теперь Возвращаясь к терминалу, запущенная команда

>>> python gus.py -t

производит следующий вывод:

[GOOD] [200] http://localhost:3000/posts/78e5ab8438
[GOOD] [200] http://localhost:3000/posts/2da60bf766
[GOOD] [200] http://localhost:3000/posts/4a8a76df4a
[GOOD] [200] http://localhost:3000/posts/e5f703c004
[GOOD] [200] http://localhost:3000/posts/168346fd63
[GOOD] [200] http://localhost:3000/posts/db7e046128
[GOOD] [200] http://localhost:3000/posts/f87957048e
[GOOD] [200] http://localhost:3000/posts/35b33ca432
[GOOD] [200] http://localhost:3000/posts/3555e6f683
[GOOD] [200] http://localhost:3000/posts/868b94d523

Полное сводное изложение изменений, которое я сделал, можно увидеть ниже:

Оригинал: “https://dev.to/slaterslater/gustavo-looks-through-a-telescope-27gc”