Como criar uma ferramenta de pesquisa WHOIS via Excel VBA

Compartilhe agora:

Usando o Excel, você pode facilmente criar sua própria ferramenta de consulta WHOIS. Essa ferramenta ajudará desenvolvedores de sites ou empresas de hospedagem a converter domínios em leads. Ela exibe o nome de pessoas ou organizações proprietárias de diferentes domínios.

Faça o download

Se você deseja começar a usar o software o mais rápido possível, então você pode:

Baixe o software agora

Caso contrário, se você quiser DIY, pode ler o conteúdo abaixo.

Vamos preparar a GUI

A GUI desta ferramenta é muito simples. Conforme mostrado na imagem, apenas uma folha com cabeçalhos e colunas necessárias é suficiente. Neste exemplo, para um determinado domínio, a ferramenta coletará o nome do registrante e a organização do registrante. Para permitir que os usuários executem a macro, crie um botão na mesma planilha.Prepare a GUI para a ferramenta

Vamos torná-lo funcional

Cole o script em um novo módulo e anexe o sub “whoismacor” ao botão que criamos na Sheet1.

vamos testar

Adicione domínios na Coluna A e execute a macro. Os valores serão exibidos nas respectivas colunas.Adicione domínios na coluna A e execute a macro

Modifique-o

A partir de agora, a ferramenta mostra 2 cabeçalhos, ou seja, Nome do Registrante e Organização do Registrante. Você pode personalizar a ferramenta para buscar qualquer um dos cabeçalhos a seguir.Buscar o Cabeçalho

Recuperar arquivo xlsm

Se você está tendo problemas para abrir ou salvar esta ferramenta, há mudanças altas que você tem arquivo Excel corrompido e você tem que corrigi-lo antes de usá-lo.

Script

Sub whoismacro()
    Dim v_lrow As Long
    Application.DisplayStatusBar = True
    v_lrow = Sheets("whois").Range("A" & Rows.Count).End(xlUp).Row
    Dim r As Long
    Dim v_string As String
    For r = 4 To v_lrow
        Application.StatusBar = "Macro is running... Now fetching Registrant Name and Organization info for domain at Row : " & r & " /// Total Rows : " & v_lrow
        Sheets("whois").Range("B" & r).Value = WhoIsName(Sheets("whois").Range("A" & r).Value)
        Sheets("whois").Range("C" & r).Value = WhoIsorganization(Sheets("whois").Range("A" & r).Value)
    Next r
    Application.StatusBar = "Ready"
End Sub
 
Function WhoIsName(v_string As String) As String
    Application.DisplayStatusBar = True
    v_string = Replace(v_string, "http://www.", "")
    v_string = Replace(v_string, "https://www.", "")
    v_string = Replace(v_string, "http://", "")
    v_string = Replace(v_string, "https://", "")
    Dim I As Long
    Dim browobj As Object
    Dim obj1 As Object
    Dim obj2 As Object
    Dim obj3 As Object
    Dim v_website As String
    Dim ws As Worksheet
    Dim rng As Range
    Dim tbl As Object
    Dim rw As Object
    Dim cl As Object
    Dim tabno As Long
    Dim nextrow As Long
    Dim URl As String
    Dim lastRow As Long
    Dim xmlobj As Object
    Dim htmobj As Object
    Dim divobj As Object
    Dim objH3 As Object
    Dim linkobj As Object
    Dim vv_startrow As Integer
    Dim vv_lastrow As Integer
    Application.DisplayAlerts = False
    Application.DisplayStatusBar = True
    URl = "https://www.whois.com/whois/" & v_string
    Set xmlobj = CreateObject("MSXML2.XMLHTTP")
    xmlobj.Open "GET", URl, False
    xmlobj.setRequestHeader "Content-Type", "text/xml"
    xmlobj.setRequestHeader "Cache-Control", "no-cache"
    xmlobj.send
    Set htmobj = CreateObject("htmlfile")
    htmobj.body.innerHTML = xmlobj.responseText
    x = InStr(htmobj.body.innertext, "Registrant Name:")
    y = InStr(x, htmobj.body.innertext, Chr(10))
    WhoIsName = Replace(Mid(htmobj.body.innertext, x, y - x), "Registrant Name:", "")
End Function
 
Function WhoIsorganization(v_string As String) As String
    Application.DisplayStatusBar = True
    v_string = Replace(v_string, "http://www.", "")
    v_string = Replace(v_string, "https://www.", "")
    v_string = Replace(v_string, "http://", "")
    v_string = Replace(v_string, "https://", "")
    Dim I As Long
    Dim browobj As Object
    Dim obj1 As Object
    Dim obj2 As Object
    Dim obj3 As Object
    Dim v_website As String
    Dim ws As Worksheet
    Dim rng As Range
    Dim tbl As Object
    Dim rw As Object
    Dim cl As Object
    Dim tabno As Long
    Dim nextrow As Long
    Dim URl As String
    Dim lastRow As Long
    Dim xmlobj As Object
    Dim htmobj As Object
    Dim divobj As Object
    Dim objH3 As Object
    Dim linkobj As Object
    Dim vv_startrow As Integer
    Dim vv_lastrow As Integer
    Application.DisplayAlerts = False
    Application.DisplayStatusBar = True
    URl = "https://www.whois.com/whois/" & v_string
    Set xmlobj = CreateObject("MSXML2.XMLHTTP")
    xmlobj.Open "GET", URl, False
    xmlobj.setRequestHeader "Content-Type", "text/xml"
    xmlobj.setRequestHeader "Cache-Control", "no-cache"
    xmlobj.send
    Set htmobj = CreateObject("htmlfile")
    htmobj.body.innerHTML = xmlobj.responseText
    x = InStr(htmobj.body.innertext, "Registrant Organization:")
    Debug.Print x
    y = InStr(x, htmobj.body.innertext, Chr(10))
    Debug.Print y
    WhoIsorganization = Replace(Mid(htmobj.body.innertext, x, y - x), "Registrant Organization:", "")
End Function

Introdução do autor:

Nick Vipond é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo reparar problema docx e produtos de software de recuperação do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.