Googleにアクセスして検索バーに入力し、検索ボタンを押すVBコードがあります。検索後にプログラムに特定の結果を選択させる方法はありますか?すなわち。「チーズ」を検索します。プログラムで最後から2番目の結果を選択したいと思います(この場合は、wwww.chuckecheese.comです)。
3 に答える
結局、Sendkeysを使用して、キーボードのタブキーと下矢印キーをエミュレートしました。次に、これら2つのキーを使用して、目的の検索結果に移動できます。
または、APIの使用をバイパスし、音声認識を使用して広告やコストを回避して、ディクテーションを改善することもできます検索します。既成概念にとらわれずに考え、独自のソリューションを革新していなければ、プログラミングはプログラミングではありません。コーディングには創造性が伴い、試さないとそれが何であるかわかりません。このサイトはまさにこの目的に優れており、多くの人がコーディングの革新に貢献しています。プロジェクトにテキストファイルを追加し、任意の名前を付けてから、コード内の以下のパスを独自のパスに変更する必要があります。テキストファイルは空白のままです。プログラムは音声検索をファイルに書き込んでから検索を実行し、常にそれ自体を上書きします。奇妙な理由で、この方法は音声認識と口述の融合を大幅に改善します。フレーズ全体を話すことができ、それが検索を実行します。優れたマイクは必須であり、背景を乱すことなくはっきりと話すことができます。
Imports System.Speech.Recognition
'Declarations:
Private ReadOnly Drone As New SpeechRecognitionEngine()
Private ReadOnly Qa As New DictationGrammar()
Private Sub Form1_Load(sender As Object,
e As EventArgs) Handles MyBase.Load
'Dictation Mode | Google Engine
Drone.LoadGrammarAsync(Qa)
Drone.RequestRecognizerUpdate()
Drone.SetInputToDefaultAudioDevice()
Drone.InitialSilenceTimeout = TimeSpan.FromSeconds(2.5)
Drone.BabbleTimeout = TimeSpan.FromSeconds(1.5)
Drone.EndSilenceTimeout = TimeSpan.FromSeconds(1.2)
Drone.EndSilenceTimeoutAmbiguous = TimeSpan.FromSeconds(1.5)
AddHandler Drone.SpeechRecognized, AddressOf Drone_SpeechRecognized
Drone.RecognizeAsync(RecognizeMode.Multiple)
End Sub
Private Sub Drone_SpeechRecognized(sender As Object, e As SpeechRecognizedEventArgs)
Dim google As String = e.Result.Text.ToString
Select Case (google)
Case google
If google <> "+" Then
'This section will take spoken word, write to file then execute search.
Dim sb As New StringBuilder
'Be sure to change the text file path below to your path if you are new to this program.
sb.AppendLine(google)
'Add your own path below here. you can also change google to youtube and conduct youtube searches
File.WriteAllText("C:\Users\justin.ross\source\repos\ScarlettCenturium\Scarlett Centurium\Scarlett Centurium\File.txt", sb.ToString())
google = "https://www.google.com/search?q=" & Uri.EscapeUriString(google)
Dim proc As New Process()
Dim startInfo As New ProcessStartInfo(google)
proc.StartInfo = startInfo
proc.Start()
'This sendkey will close out previous tab on new search
SendKeys.Send($"^{{w}}")
Return
End If
End Select
End Sub
まああなたはそのためにグーグルAPIを使うことができます
goto http://code.google.com/p/google-api-for-dotnet/
GoogleSearchAPI_0.4_alpha.zipをダウンロード
それを抽出し、プロジェクト内のdllファイルへの参照を追加します(フォルダー.net 2内)
そして、あなたはそれをこのように使うことができます
最初にライブラリをインポートします
Imports Google.API.Search
次に、サブまたは関数にコードを次のように配置します
Dim rf As String = "http://www.google.com"
Dim v As New Google.API.Search.GwebSearchClient(rf)
Dim result = v.Search(TextBox1.Text, 40)
' number (40) is the amount of fetched results ( change it if you want )
For Each item In result
If item.Url.Contains("chuckecheese") Then
' your code goes here
End If
Next