Jak vytvořit vyhledávací nástroj WHOIS pomocí aplikace Excel VBA

Sdílej nyní:

Pomocí aplikace Excel můžete snadno vytvořit svůj vlastní vyhledávací nástroj whois. Tento nástroj pomůže vývojářům webových stránek nebo hostspolečnosti převést domény na potenciální zákazníky. Tento nástroj zobrazuje jména lidí nebo organizací vlastnících různé domény.

Stáhnout nyní

Pokud chcete start používat software co nejdříve, pak můžete:

Stáhněte si software hned

Jinak si můžete přečíst obsah níže, pokud si chcete udělat kutilství.

Připravíme GUI

GUI tohoto nástroje je velmi jednoduché. Jak je znázorněno na obrázku, stačí pouze jeden list s potřebnými záhlavími a sloupci. V tomto příkladu pro danou doménu nástroj seškrábe jméno registrujícího a organizaci registrujícího. Chcete-li uživatelům umožnit spuštění makra, vytvořte tlačítko na stejném listu.Připravte GUI pro nástroj

Udělejme to funkční

Vložte skript do nového modulu a připojte dílčí „whoismacor“ k tlačítku, které jsme vytvořili na List1.

Zkusme to

Přidejte domény do sloupce A a spusťte makro. Hodnoty se zobrazí v příslušných sloupcích.Přidejte domény do sloupce A a spusťte makro

Upravte to

V současné době nástroj zobrazuje 2 záhlaví, tj. Registrant Name a Registrant Organization. Nástroj můžete přizpůsobit tak, aby načítal kteroukoli z následujících hlaviček.Načíst záhlaví

Obnovte soubor xlsm

Máte-li potíže s otevřením nebo uložením tohoto nástroje, došlo k velkým změnám poškozený soubor Excel a před použitím jej musíte opravit.

Scénář

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

Úvod autora:

Nick Vipond je odborníkem na obnovu dat DataNumen, Inc., která je světovým lídrem v oblasti technologií pro obnovu dat, včetně opravit problém s docx a softwarové produkty pro obnovení aplikace Outlook. Pro více informací navštivte www.datanumen.com

Sdílej nyní:

Komentáře jsou uzavřeny.