Sådan får du oplysninger fra et foto med Ruby

Indholdsfortegnelse

I dag er vi vant til at uploade vores fotos til sociale netværk eller til "skyen" uden at tænke over, hvilke data de har bag sig, sikkert ved mange stadig ikke, at de bærer metadata ("billedinformation"), som vi ikke ser med nøgen øje. Men hvis du højreklikker med musen på et billede, og vi går til egenskaber, og vi leder efter, at vi ser mange oplysninger, efterlader jeg nogle skærmbilleder af, hvordan disse oplysninger ser ud i Linux og Windows.

Ok, den information, som vi ser på billederne ovenfor, er ikke den vigtigste, de kan ikke vide meget om os, bortset fra at vi har taget billedet, faktisk hvis du tillader mig at tage din placering, vil kameraet også have det sted, hvor billedet blev taget, og i Windows kan det i det mindste ses uden at have specifikke værktøjer (det er samme sted som det forrige billede Egenskaber> Detaljer), se på følgende billede (jeg har slettet oplysningerne):

Hvis vi går til en side, der ved indsætning af breddegrad og længdegrad giver os den nøjagtige adresse, hvor billedet blev taget, begynder en bestemt fare at eksistere, en ondsindet person kan finde ud af, hvor vi bor.

FORSTØRRE

I denne tutorial vil jeg lære en Ruby -kode, der udtrækker metadata fra jpeg.webp, jpg.webp, selvom du også kan få dem fra tiff -billeder.

Den første ting, vi har brug for, er at installere et eksternt bibliotek kaldet exifr, for dette udfører vi følgende sætning:

 perle installere exifr
Lad os se koden, hvis du har programmeret noget med rubin, vil det være meget enkelt:
 kræve 'exifr' image = '/home/ubuntu/solvetic.jpg.webp' if EXIFR :: JPEG.webp.new (image) .exif? udskriv derefter "Width:", EXIFR :: JPEG.webp.new (billede) .width, "\ n" print "Height:", EXIFR :: JPEG.webp.new (image) .height, "\ n" print "Camera model or mobile: ", EXIFR :: JPEG.webp.new (billede) .model," \ n "print" Date: ", EXIFR :: JPEG.webp.new (billede) .dato_tid," \ n "hvis EXIFR :: JPEG.webp.new ( image) .gps derefter udskrive "Latitude:", EXIFR :: JPEG.webp.new (image) .gps.latitude, "\ n" print "Longitude:", EXIFR :: JPEG.webp.new (image) .gps.longitude, " \ n "ende andet sætter" Ingen metadata "ende
Først importerer vi biblioteket, erklærer en variabel med stien til vores billede og tjekker lidt, så får vi kun billedets egenskaber (hvis der er en ejendom, der ikke har nogen værdi, forbliver den simpelthen tom). I den sidste del af hvis vi vil kontrollere, om den har gps -data, så den ikke giver os en fejl, hvis den er en nullværdi, hvis den gør det, viser vi den på skærmen.

BemærkHvor ser du teksten /home/ubuntu/solvetic.jpg.webp skulle gå vejen til dit billede.

Hvis vi kører koden, har vi følgende konsoloutput:

Her er et postnummer med koden ovenfor:

metadata Ruby.zip 373 bytes 148 Downloads

Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave