Bonjour...
Je cherche avant tout à refaire certains scripts,
afin de me passer des fonctions IE...
Car je pense - peut-être à tort - que Microsoft
va le laisser tomber au profi td'Edge / Edge façon chromium)...
Avec donc les fonctions IE, j'arrivais
facilement à récupérer le code source d'une page web.
Pour plus de précision, il s'agit du site
leboncoin...
Je cherche pas à faire des bots (j'en ai pas les compétences lol), mais à
lister mes annonces...
Pourquoi ? j'ai pas assez de mémoire.
Avec ce lien, par exemple :
https://www.leboncoin.fr/recherche/?text=tom628
-> J'ai essayé de passer par Curl / Wget / Powershell, que je pourrais ensuite adapté via un petit script AutoIT... En vain...
Donc, j'ai fait comme cela - mais je n'aime pas, ça fait crade (surtout la partie "Firefox") :
► Afficher le textescript
#include <IE.au3>ProcessClose('iexplore.exe')$lien = 'https://www.leboncoin.fr/recherche/?text=rog628';~ $cs = BinaryToString(InetRead($lien),4);~ $cs = BinaryToString(InetRead($lien),0);~ MsgBox(0,'',$cs);~ Exit;~ $LiensAnn_FF = _LiensAnn_FF($lien);~ MsgBox(0, '', $LiensAnn_FF);~ $LiensAnn = _LiensAnn($lien)$LiensAnn = _LiensAnn_FF
($lien)MsgBox(0,'',$LiensAnn)Func _LiensAnn
($lien) Local $oIE = _IECreate($lien, 1, 0, 1) Local $cs = _IEDocReadHTML($oIE) _IEQuit($oIE) $lignes = '' For $a = 1 To StringSplit($cs, @LF)[0] $ligne = StringSplit($cs, @LF)[$a] If StringInStr($ligne, '.htm/') Then $lignes &= $ligne & @CRLF Next $lignes = StringReplace($lignes, '"', @CRLF) $liens = '' For $a = 1 To StringSplit($lignes, @LF)[0] $ligne = StringSplit($lignes, @LF)[$a] If StringInStr($ligne, '.htm/') Then $ligne = 'https://www.leboncoin.fr' & StringStripWS($ligne, 8) $liens &= $ligne & @CRLF EndIf Next Return $liensEndFunc ;==>_LiensAnnFunc _LiensAnn_FF
($lien) ProcessClose('firefox.exe') ShellExecute("firefox.exe", $lien) Sleep(4500) ; Code source dans presse-papier $hdl = WinGetHandle("[ACTIVE]") WinActivate($hdl) Sleep(500) Send('^u') Sleep(500) Send('^a') Sleep(500) Send('^c') Sleep(500) $cs = ClipGet() ProcessClose('firefox.exe') $lignes = '' For $a = 1 To StringSplit($cs, @LF)[0] $ligne = StringSplit($cs, @LF)[$a] If StringInStr($ligne, '.htm/') Then $lignes &= $ligne & @CRLF Next $lignes = StringReplace($lignes, '"', @CRLF) $liens = '' For $a = 1 To StringSplit($lignes, @LF)[0] $ligne = StringSplit($lignes, @LF)[$a] If StringInStr($ligne, '.htm/') Then $ligne = 'https://www.leboncoin.fr' & StringStripWS($ligne, 8) $liens &= $ligne & @CRLF EndIf Next Return $liensEndFunc ;==>_LiensAnn_FF
J'arrive donc à faire avec Firefox, comme ceci:
- J'ouvre la
page souhaitée avec Firefox
- Je lui "envoie" le
raccourci pour
afficher le code source.
- Je lui "envoie" le
raccourci pour
Tout Sélectionner et le
raccourci pour
copier dans le presse-papier
- Ensuite, je stocke le
contenu du presse-papier dans une variable.
Voilà comment je fais pour obtenir "le contenu du code source", sans passer par IE... Pas fameux
Il n'y aurait-il pas un
moyen plus simple pour y parvenir ?
Merci
Et bonne journée / soirée à vous.
++