Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #--------------------------------------------------------------------
- # file: down.py
- # comment: Coletar informacoes dos status dos sites
- # do DownDetector e realizar um monitoramento com base em seu status code.
- # author: Made4it <noc@made4it.com.br>
- # date: 30-dez-2019
- # revision: Rafael Gasnacim, Gabriel Vanjura
- # Last updated: 04-jan-2020, 19:59
- #--------------------------------------------------------------------
- from lxml import html
- import requests
- import re
- import sys
- def convertTuple(tup):
- str = ''.join(tup)
- return str
- if len(sys.argv) < 2:
- print("erro, informe o site a ser testado\n")
- sys.exit(1)
- site = sys.argv[1]
- url = 'https://downdetector.com.br/fora-do-ar/'+site+'/'
- user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
- headers = {'User-Agent': user_agent}
- page = requests.get(url,headers=headers)
- if page.status_code != 200:
- print('Erro: '+page.status_code)
- #print("0")
- sys.exit(1)
- tree = html.fromstring(page.content)
- status = tree.xpath('//*[@id="chart-row"]/div/div/script[1]/text()')
- #print(status)
- for x in range(len(status)):
- data = status[x]
- # print(data)
- teste = re.compile(".*status: '(.*)',.*", re.MULTILINE)
- for match in teste.finditer(data):
- status = match.groups()
- status = convertTuple(status)
- # print(status)
- #Conventendo String para Valor numerico
- if(status == 'success'):
- status = 10
- if(status == 'warning'):
- status = 20
- if(status == 'danger'):
- status = 30
- print(status)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement