Bonjour, je vais essayer d'être le plus clair possible, afin d'avoir des réponses appropriées voir d'autres pistes que je pourrait éventuellement exploiter.
Mon probléme : J'aimerais depuis mon webbrowser, récupérer dans le code source de la page une partie de la source qui ne peut être définie, mais qui est fort heuresement entre 2 balises qui elles sont connues, j'ai bien trouver sur google 2/3 exemples, dont un qui fonctionne de maniére générale (Voir code plus bas), mais qui hélas semble ne pas fonctionner avec le code source de la page que je désire Splitter.
Quel est le but : Il s'agit d'utiliser Google translate, sans passer par l'api, qui malheureusement est devenue payante, ainsi depuis un textbox pour le moment je voudrais
1 - Rediriger mon webbrowser vers https://translate.google.fr/?#pl/fr/monMotEnPolonais (Accompli)
2 - Obtenir la source du code (Accompli)
3 - Parser ce code, afin d'en extraire la traduction en Français, qui visiblement se trouve toujours dans une ou plusieurs balises : <span class="hps">ma traduction en Français</span>
A se niveau la, mon msgbox de debeugage, reste vide, malgré que mon code fonctionne pour une chaine de test genre <a>maChaine</a>, peut être un problème d'échappement de mes guillemets ?
Voici la fonction :
Et le code de mon Button :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Function MidStr(ByVal Expression As String, ByVal sLeft As String, ByVal sRight As String, Optional ByVal iStart As Integer = 0) As String Dim iPosL As Integer = Expression.IndexOf(sLeft, iStart) If iPosL > -1 Then Dim iPosR As Integer = Expression.IndexOf(sRight, iPosL + sLeft.Length) If iPosR = -1 Then 'pas le caractère de fin, on prend la chaîne complète iPosR = Expression.Length - iPosL - sLeft.Length sRight = String.Empty End If Return Expression.Substring(iPosL + sLeft.Length, iPosR - iPosL - sLeft.Length) End If Return String.Empty End Function
Je sais qu'il existe d'autres services d'api proposant de traduire dans différents langages, hélas soit elles sont limitées en nombre de caractères, soit elle ne traduise pas suffisamment bien à mon gout, le but étant de proposer une interface de jeu à plusieurs centaines de joueurs, la limite par exemple de bing (2 millions de caractères il me semble) risque d'être vite une problématique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox(MidStr(WebBrowser2.DocumentText, "<span class=""hps"">", "</span>"))
Merci par avance pour vos pistes.
Partager