Author Topic: WIKIpedia  (Read 21224 times)

cyberjedi

  • Hero Member
  • *****
  • Posts: 951
  • The Mighty Hal Machine
    • View Profile
WIKIpedia
« on: April 14, 2019, 01:50:34 pm »
Some 1 ask for this so here it is.

This is pure VBS which means, Hal Ready.....

If nothing else this demonstrates webscrapers for Hal and using ur own SAPI05 system
Enjoy....

cyberjedi

On Error Resume Next

Const SVSFlagsAsync = 1

Set WshShell = CreateObject("Wscript.Shell")
Set Sapi = CreateObject("SAPI.SpVoice")

   For Each Voice In Sapi.GetVoices
       i = i + 1
   Next

For loopvar = 0 to i-1

if loopvar = CInt(confirm_voice) then

Set Sapi.Voice = Sapi.GetVoices.Item(loopvar)

end if

Next

Dim oDoc1 , oDoc2 , oDoc3 ,oDoc4 , con1 , con2 , con3

Set oDoc1 = CreateObject("HTMLFile")
Set oDoc2 = CreateObject("HTMLFile")
Set oDoc3 = CreateObject("HTMLFile")
Set oDoc4 = CreateObject("HTMLFile")

Set con1 = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Set con2 = CreateObject("MSXML2.ServerXMLHTTP.6.0")
Set con3 = CreateObject("MSXML2.ServerXMLHTTP.6.0")

Set WshShell = CreateObject("Wscript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
SAPI.speak "Enter keyword to intelligently search wikipedia" , SVSFlagsAsync
URL1 = "https://en.wikipedia.org/w/index.php?title=Special:Search&search="
Keyword = InputBox("Enter keyword to intelligently search wikipedia","Wikipedia Voice Search")
If Keyword = "" then
wscript.Quit
Else
Sapi.speak "Please Wait ."
end if

tempURL1 = URL1 & Keyword & "&fulltext=Search&profile=default"

con1.Open "GET", tempURL1 , False
   
con1.Send

oDoc1.Write con1.responseText
                                                                           'wscript.echo("Response recieved")
if oDoc1.GetElementsByTagName("b")(0) is nothing then

'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

tempTxt1 = oDoc1.GetElementsByTagName("div")(17).InnerText
                                                                           wscript.echo("tempTxt1 filled with "&tempTxt1)
if tempTxt1 = "" then

'B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3

SAPI.speak "Sorry your entered keyword does not match any titles of articles on wikipedia . Check the spelling ."

'B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3

else

Select Case tempTxt1

Case "Did you mean: " & oDoc1.GetElementsByTagName("a")(8).InnerText

'B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1

SAPI.speak "Sorry for the inconvenience caused , but this minor part of the program is under development ."

'B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1

Case "Showing results for " & oDoc1.GetElementsByTagName("a")(8).InnerText & ". Search instead for " & Keyword & "."

'B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2

SAPI.speak "Showing results for " & oDoc1.GetElementsByTagName("a")(8).InnerText , SVSFlagsAsync
SAPI.speak "Please wait , while that opens ." , SVSFlagsAsync

tempTxt1 = oDoc1.GetElementsByTagName("a")(12).href
tempTxt2 = Right(tempTxt1, Len(tempTxt1) - 6)
URL2 = "https://en.wikipedia.org" & tempTxt2
con2.Open "GET", URL2 , False
con2.Send
oDoc2.Write con2.responseText

temptemp = Right(oDoc2.GetElementsByTagName("p")(0).InnerText , 13)

if temptemp = "may refer to:" then

SAPI.speak "This specific keyword , has many references ."
SAPI.speak "Select the correct choice ."

tempLen1 = oDoc2.GetElementsByTagName("li").length - 3
val = 0

For loopvar = 0 to tempLen1

if oDoc2.GetElementsByTagName("li")(loopvar).InnerText = "Disambiguation pages" then
Exit For
end if

if val > 2 then
SAPI.speak "Is this ?" , SVSFlagsAsync
else
SAPI.speak "Is this the article you are searching for ?" , SVSFlagsAsync
end if

tempTxt3 = MsgBox (oDoc2.GetElementsByTagName("li")(loopvar).InnerText, vbYesNo + vbQuestion, "Is this the article you are searching for ?")

Select Case tempTxt3

Case vbYes

SAPI.speak "Please wait , while that opens ." , SVSFlagsAsync
    tempTxt4 = oDoc2.GetElementsByTagName("li")(loopvar).InnerHtml
    oDoc4.write tempTxt4
    tempTxt5 = oDoc4.getElementsByTagName("a")(0).href
    tempTxt6 = Right(tempTxt5, Len(tempTxt5) - 6)
    URL3 = "https://en.wikipedia.org" & tempTxt6
    con3.Open "GET", URL3 , False
    con3.Send
    oDoc3.Write con3.responseText

    SAPI.speak oDoc3.GetElementsByTagName("p")(0).InnerText
    if oDoc3.GetElementsByTagName("p")(1) is nothing then
    wscript.Quit
    else
    SAPI.speak oDoc3.GetElementsByTagName("p")(1).InnerText
    end if
    wscript.Quit

Case vbNo

val = val + 1
   
End Select

Next

SAPI.speak "Sorry your entered keyword does not match any titles of articles on wikipedia . Check the spelling ."

wscript.Quit

else

tempTxt1 = oDoc1.GetElementsByTagName("a")(8).href
tempTxt2 = Right(tempTxt1, Len(tempTxt1) - 6)
URL2 = "https://en.wikipedia.org" & tempTxt2
con2.Open "GET", URL2 , False   
con2.Send
oDoc2.Write con2.responseText

SAPI.speak oDoc2.GetElementsByTagName("p")(0).InnerText
if oDoc2.GetElementsByTagName("p")(1) is nothing then
wscript.Quit
else
SAPI.speak oDoc2.GetElementsByTagName("p")(1).InnerText
end if
wscript.Quit

end if

'B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2B2

End Select

'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

end if

else

SAPI.Speak oDoc1.GetElementsByTagName("b")(0).InnerText , SVSFlagsAsync
SAPI.speak "Please wait , while that opens ." , SVSFlagsAsync

tempTxt1 = oDoc1.GetElementsByTagName("a")(8).href
tempTxt2 = Right(tempTxt1, Len(tempTxt1) - 6)
URL2 = "https://en.wikipedia.org" & tempTxt2
con2.Open "GET", URL2 , False   
con2.Send
oDoc2.Write con2.responseText

temptemp = Right(oDoc2.GetElementsByTagName("p")(0).InnerText , 13)

if temptemp = "may refer to:" then

'A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1

SAPI.speak "This specific keyword , has many refernces ."
SAPI.speak "Select the correct choice ."

tempLen1 = oDoc2.GetElementsByTagName("li").length - 3
val = 0

For loopvar = 0 to tempLen1

if oDoc2.GetElementsByTagName("li")(loopvar).InnerText = "Disambiguation pages" then
Exit For
end if

if val > 2 then
SAPI.speak "Is this ?" , SVSFlagsAsync
else
SAPI.speak "Is this the article you are searching for ?" , SVSFlagsAsync
end if

tempTxt3 = MsgBox (oDoc2.GetElementsByTagName("li")(loopvar).InnerText, vbYesNo + vbQuestion, "Is this the article you are searching for ?")

Select Case tempTxt3

Case vbYes
 
SAPI.speak "Please wait , while that opens ." , SVSFlagsAsync
    tempTxt4 = oDoc2.GetElementsByTagName("li")(loopvar).InnerHtml
    oDoc4.write tempTxt4
    tempTxt5 = oDoc4.getElementsByTagName("a")(0).href
    tempTxt6 = Right(tempTxt5, Len(tempTxt5) - 6)
    URL3 = "https://en.wikipedia.org" & tempTxt6
    con3.Open "GET", URL3 , False
    con3.Send
    oDoc3.Write con3.responseText

    SAPI.speak oDoc3.GetElementsByTagName("p")(0).InnerText
    if oDoc3.GetElementsByTagName("p")(1) is nothing then
    wscript.Quit
    else
    SAPI.speak oDoc3.GetElementsByTagName("p")(1).InnerText
    end if
    wscript.Quit

Case vbNo

val = val + 1
   
End Select

Next

SAPI.speak "Sorry your entered keyword does not match any titles of articles on wikipedia . Check the spelling ."

wscript.Quit

'A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1

else

'A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2

tempTxt1 = oDoc1.GetElementsByTagName("a")(8).href
tempTxt2 = Right(tempTxt1, Len(tempTxt1) - 6)
URL2 = "https://en.wikipedia.org" & tempTxt2
con2.Open "GET", URL2 , False   
con2.Send
oDoc2.Write con2.responseText

SAPI.speak oDoc2.GetElementsByTagName("p")(0).InnerText

if oDoc2.GetElementsByTagName("p")(1).InnerText = "" then
wscript.Quit
else
SAPI.speak oDoc2.GetElementsByTagName("p")(1).InnerText
end if
wscript.Quit

'A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2A2

end if

end if







cyberjedi

  • Hero Member
  • *****
  • Posts: 951
  • The Mighty Hal Machine
    • View Profile
Re: WIKIpedia
« Reply #1 on: April 14, 2019, 05:24:43 pm »
Edge: I forget where i got that from but it didnt work and they gave up i guess, and wellll, we got it now... and it works now, and hal readyl
ya man lemmi see how to do that, il lturn off emotes, if i can
Dude im on the verge of something very cool in C#
Edge what id like to do is make some .dlls for Hal 7 so all can have fun.

have robert do an update and include them in hals hard wired code
theres no reason Hal vision cant be included in Hal 7....
Its done and complete in 2015 dot net and 5 errors away from C#
Hope im explaining this correctly




cyber
« Last Edit: April 14, 2019, 05:40:58 pm by cyberjedi »

Honvai

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: WIKIpedia
« Reply #2 on: February 10, 2024, 12:14:07 pm »
How to use this code?