Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R] Extraire des données d'un site [IP-Country-Region-City]
Auteur Message
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Salut tout le monde Wink
Je veux votre avis sur ce site dans le sens d'exploiter ses données ( IP-Country-Region- City-ISP-Coordinates of City-Domain Name-Connection Type-Usage Type-Postcode-IDD-Code-Area Code-Elevation ) sans passer par leur API ?
Le site en question est : https://www.ipinfodb.com/
Ce que j'ai remarqué que ce dernier me donne une position plus précise !

Bon, j'ai fait ce script batch mais avec un autre site en exploitant le fichier json : http://ip-api.com/json/
mais la position est moins précise Rolling Eyes

Code:
@echo off
Title Get IP - ISP - Country - City - TimeZone - Latitude - Longitude by Hackoo 2018
Mode 90,15 & color 0A
Set "VBS=%Temp%\IP_Info.vbs"
(
echo Dim http
echo Set http = CreateObject^("Msxml2.XMLHTTP"^)
echo http.open "GET","http://ip-api.com/json/",False
echo http.send
echo strJson = http.responseText
echo Set j = Parse^(strJson^)
echo wscript.echo "IP="^&j.query
echo wscript.echo "ISP="^&j.isp
echo wscript.echo "Country="^&j.country
echo wscript.echo "City="^&j.city
echo wscript.echo "TimeZone="^&j.timezone
echo wscript.echo "CountryCode="^&j.countryCode
echo wscript.echo "org="^&j.org
echo wscript.echo "AS="^&j.as
echo wscript.echo "Latitude="^&j.lat
echo wscript.echo "Longitude="^&j.lon
echo Function Parse^(strJson^)
echo     Set html = CreateObject^("htmlfile"^)
echo     Set window = html.parentWindow
echo     window.execScript "var json = " ^& strJson, "JScript"
echo     Set Parse = window.json
echo End Function
)>"%VBS%"
echo(
echo          Please wait a while ... We are loading data about IP-Country-City ...
echo(
cscript //nologo "%VBS%"
for /f "delims=" %%a in ('cscript //nologo "%VBS%"') do Set %%a
echo(
echo Hit any key to show your postion in Google Maps
echo Your position is almost here %Latitude%,%Longitude%
pause>nul
Start "" https://www.google.fr/maps/place/%Latitude%,%Longitude%
Exit




Dernière édition par Hackoo le Lun 9 Juil 2018 - 12:11; édité 1 fois

______________________________________________________
Mes Contributions en Téléchargement
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Alez mister Hooo !

Je vais te mettre sur le chemin en VBS vû que tu aimes ça :

Code:
url = "https://www.ipinfodb.com/"

Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate url

While ie.ReadyState <> 4
  WScript.Sleep 100
Wend

Set tbl = ie.document.getElementsByTagName("table").Item(0)

For i=0 to (tbl.getElementsByTagName("td").length -1) Step 1
     Wscript.echo "Element: " & i & " => " & tbl.getElementsByTagName("td").Item(i).innerText & VBCRLF
Next


après tu récupères simplement les valeurs de l'array qui t'interesse!

Sortie :

Code:
Element: 0 => Country
 Brazil

Element: 1 => Region
Pernambuco

Element: 2 => City
Recife
 Report Incorrect Location

Element: 3 => ISP
Edvaldo do N. Vila Nova - ME

Element: 4 => Coordinates of City
 -12°3'14"S   -44°52'52"W
(-12.05389, -44.88111)

Element: 5 => Domain Name
servlink.com.br

Element: 6 => Connection Type
COMP

Element: 7 => Usage Type
Commercial

Element: 8 => Postcode
53000-000

Element: 9 => IDD Code
55

Element: 10 => Area Code
-

Element: 11 => Elevation
9 meters

Element: 12 => Local Time
08 Jul, 2018 11:39 AM (UTC -02:00)

Element: 13 => Weather Station
Recife (BRXX0195)


Facile non ?

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Salut,

Les positions qui sont données par ton site ne sont pas toujours précises. En fait,
tout dépend de l'ancienneté de l'IP analysée. Tu peux obtenir un résultat aussi bon
avec les BD (csv entre autres) gratuites que sont geolite et ip2location, et si ça se
trouve, c'est cequ'utilise ton site en interne.

edit:

Le site utilise bien ip2location.

edit2:

j'avais oublié que les versions gratuites donnent juste les pays Embarassed



Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Salut a vous deux les gars et merci bien pour votre réponse Wink
Voilà ce que j'ai fait maintenant en se basant sur la réponse de sacha
Code:
@echo off
Title Get IP - ISP - Country - City - TimeZone - Latitude - Longitude by Hackoo 2018
Mode 90,45 & color 0A
set "VBS=%Temp%\ipinfodb.vbs"

(
echo url = "https://www.ipinfodb.com/"
echo Set ie = CreateObject("InternetExplorer.Application"^)
echo ie.Navigate url
echo While ie.ReadyState ^<^ 4
echo    WScript.Sleep 100
echo Wend
echo Set tbl = ie.document.getElementsByTagName("table"^).Item(0^)
echo For i=0 to tbl.getElementsByTagName("td"^).length - 2
echo    Info = Info ^& tbl.getElementsByTagName("td"^).Item(i^).innerText ^& vbCrlf ^& String(20,"-"^) ^& VBCRLF
echo Next
echo wscript.echo Info
echo ie.Quit
)>"%VBS%"
cscript //nologo "%VBS%" | find /V "Report Incorrect Location"
echo(
echo Hit any key to show your position place in Google Maps
pause>nul
Set "Pattern=[0-9][0-9]\.[0-9][0-9][0-9][0-9][0-9] ,[0-9][0-9]\.[0-9][0-9][0-9][0-9][0-9]"
for /f "delims=" %%a in ('cscript //nologo "%VBS%" ^|findstr /R "%Pattern%"') do set "Coord=%%a"
set Coord=%Coord: =%
Start "" https://www.google.fr/maps/place/%Coord%
exit

Résolu Okay




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Je te propose cette version qui lançe le VBS et internet explorer qu'une seul fois!

C'est 2 fois plus rapide !

Et on affiche une image de la position au lieu d'une map ! (si vous avez de la chance ça sera preçis Laughing)

Un simple recherche sur les strings "(-" sont suffisant pas besoin de long pattern !


Code:


@echo off
Title Get IP - ISP - Country - City - TimeZone - Latitude - Longitude by Hackoo 2018
Mode 90,45 & color 0A
set "VBS=%Temp%\ipinfodb.vbs"
set "out=%Temp%\coord.txt"

(
echo url = "https://www.ipinfodb.com/"
echo outFile="%out%"
echo Set objFSO=CreateObject("Scripting.FileSystemObject"^)
echo Set objFile = objFSO.CreateTextFile(outFile,True^)
echo Set ie = CreateObject("InternetExplorer.Application"^)
echo ie.Navigate url
echo While ie.ReadyState ^<^ 4
echo    WScript.Sleep 100
echo Wend
echo Set tbl = ie.document.getElementsByTagName("table"^).Item(0^)
echo For i=0 to tbl.getElementsByTagName("td"^).length - 2
echo   wscript.echo tbl.getElementsByTagName("td"^).Item(i^).innerText ^& vbCrlf ^& String(20,"-"^) ^& VBCRLF
echo Next
echo objFile.Write tbl.getElementsByTagName("td"^).Item(4^).innerText
echo objFile.Close
echo ie.Quit
)>"%VBS%"
cscript //nologo "%VBS%" | find /V "Report Incorrect Location"
echo(
for /f "delims=" %%a in ('type "%out%" ^|find "(-"') do set "Coord=%%a"
set Coord=%Coord:~1,-2%
Start https://maps.googleapis.com/maps/api/streetview?size=400x400^&location=%Coord: =%^&fov=90^&heading=235^&pitch=10




Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
sachadee a écrit:
Je te propose cette version qui lançe le VBS et internet explorer qu'une seul fois!

C'est 2 fois plus rapide !

Et on affiche une image de la position au lieu d'une map ! (si vous avez de la chance ça sera preçis Laughing)

Un simple recherche sur les strings "(-" sont suffisant pas besoin de long pattern !


Code:


@echo off
Title Get IP - ISP - Country - City - TimeZone - Latitude - Longitude by Hackoo 2018
Mode 90,45 & color 0A
set "VBS=%Temp%\ipinfodb.vbs"
set "out=%Temp%\coord.txt"

(
echo url = "https://www.ipinfodb.com/"
echo outFile="%out%"
echo Set objFSO=CreateObject("Scripting.FileSystemObject"^)
echo Set objFile = objFSO.CreateTextFile(outFile,True^)
echo Set ie = CreateObject("InternetExplorer.Application"^)
echo ie.Navigate url
echo While ie.ReadyState ^<^ 4
echo    WScript.Sleep 100
echo Wend
echo Set tbl = ie.document.getElementsByTagName("table"^).Item(0^)
echo For i=0 to tbl.getElementsByTagName("td"^).length - 2
echo   wscript.echo tbl.getElementsByTagName("td"^).Item(i^).innerText ^& vbCrlf ^& String(20,"-"^) ^& VBCRLF
echo Next
echo objFile.Write tbl.getElementsByTagName("td"^).Item(4^).innerText
echo objFile.Close
echo ie.Quit
)>"%VBS%"
cscript //nologo "%VBS%" | find /V "Report Incorrect Location"
echo(
for /f "delims=" %%a in ('type "%out%" ^|find "(-"') do set "Coord=%%a"
set Coord=%Coord:~1,-2%
Start https://maps.googleapis.com/maps/api/streetview?size=400x400^&location=%Coord: =%^&fov=90^&heading=235^&pitch=10




Okay

J'obtiens comme ceci ==> https://maps.googleapis.com/maps/api/streetview?size=400x400&location=~…




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Il manque la location !

bizarre chez -moi ça roule perfect :

https://maps.googleapis.com/maps/api/streetview?size=400x400&location=-…

test de nouveau !




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
En fait ça ne marche pas parce qu'on admet que la première valeur (de la coordonnée) est strictement négatif or ce n'est pas systématiquement le cas (selon la localisation).
Je parle de ce bout de code :
Code:
for /f "delims=" %%a in ('type "%out%" ^|find "(-"') do set "Coord=%%a"


Il suffit de le remplacer par :
Code:
for /f "delims=" %%a in ('type "%out%" ^| FindStr /R "\([0-9\-]"') do set "Coord=%%a"



Donc ce qui donne :
Code:
@echo off
Title Get IP - ISP - Country - City - TimeZone - Latitude - Longitude by Hackoo 2018
Mode 90,45 & color 0A
set "VBS=%Temp%\ipinfodb.vbs"
set "out=coord.txt"
 
(
echo url = "https://www.ipinfodb.com/"
echo outFile="%out%"
echo Set objFSO=CreateObject("Scripting.FileSystemObject"^)
echo Set objFile = objFSO.CreateTextFile(outFile,True^)
echo Set ie = CreateObject("InternetExplorer.Application"^)
echo ie.Navigate url
echo While ie.ReadyState ^<^ 4
echo    WScript.Sleep 100
echo Wend
echo Set tbl = ie.document.getElementsByTagName("table"^).Item(0^)
echo For i=0 to tbl.getElementsByTagName("td"^).length - 2
echo   wscript.echo tbl.getElementsByTagName("td"^).Item(i^).innerText ^& vbCrlf ^& String(20,"-"^) ^& VBCRLF
echo Next
echo objFile.Write tbl.getElementsByTagName("td"^).Item(4^).innerText
echo objFile.Close
echo ie.Quit
)>"%VBS%"
cscript //nologo "%VBS%" | find /V "Report Incorrect Location"
echo(
for /f "delims=" %%a in ('type "%out%" ^| FindStr /R "\([0-9\-]"') do set "Coord=%%a"
set Coord=%Coord:~1,-2%
Start https://maps.googleapis.com/maps/api/streetview?size=400x400^&location=%Coord: =%^&fov=90^&heading=235^&pitch=10





______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [R] Extraire des données d'un site [IP-Country-Region-City] 
Bien jouer Flammrock j'y ai même pas pensé vu que je suis dans l'hémisphère sud !

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message [R] Extraire des données d'un site [IP-Country-Region-City] 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch