hyvin yksinkertainen tapa ymmärtää, mitä tietokanta tiedosto on, että se on kansio, joka sisältää kasan excel-taulukot. Aivan kuten suuremmissa tai yritystason tietokannoissa voit yhdistää ja käyttää tietoja tietokannassa eri tavoin.

Käyttämällä Python ja pandoja

tässä opetusohjelmassa, olen käyttäen Python ja hämmästyttävä pandoja moduuli yhteyden tietokantaan, tutkia taulukot ja tiedot hallussaan ja sitten lukea, että tiedot taulukoista.,

yllä kytkemme tietokantaan ja tutkimme, mitä taulukoita siellä on. Huomasin, että tietokannassa on muutamia taulukoita, mukaan lukien yksi nimeltään viesti ja muut nimet chat, kahva ja liitetiedosto. Tutkitaan viestipöytää, koska se kuulostaa lupaavimmalta pitää imessaget. Minä, että siirtämällä taulukon pandoja dataframe, eräänlainen tiedoston, joka on paljon helpompi tutkia ja manipuloida tietoja analyis hankkeita.

# get the 10 entries of the message table using pandas
messages = pd.read_sql_query("select * from message limit 10", conn)

viestin tekstin ja puhelinnumeron saaminen

osuimme bingoon!, Viestipöydässä näyttää todellakin olevan kaikki pelastetut imessaget. Siinä on tekstikenttä, jossa on varsinainen lähetetty tai vastaanotettu viesti, päiväyskenttä (lisää alla) ja kahvatunnus. Pienen tutkimisen jälkeen huomasin, että handle_id on jokaisen puhelinnumeron tai Apple-id: n koodi, jonka kanssa olet keskustellut. Jotta kartta handle_id takaisin Apple-id voimme käyttää taulukon tietokantaan (asianmukaisesti) nimetty kahva ja liittyä handle_id.

lisäämällä chat-tunnuksen

samalla tavalla, viestitaulukossa on myös chat_id, joka kartoittaa jokaisen viestin takaisin ainutlaatuiseen chatiin., Tämä voi olla hyödyllistä, kun teet analyysin chatit useita ihmisiä. Voimme saada chat_id jokaisen viestin liittymällä viesti pöydän kanssa (jälleen, asianmukaisesti nimetty) chat_message_join taulukko message_id.

Saada päivämäärä

viesti-taulukkoon sisältyy myös päivämäärä, sarakkeen ja tämä oli minulle aika hankala purkaa, sillä se ei ole missään muodossa, joka on laajalti käytetty teollisuudessa. Lisäksi tapa, jolla tämä sarake on tallennettu, on hieman erilainen uudemmassa versiossa Mac OS X verrattuna vanhempiin.,

Luotto tähän stackoverflow-sivu, joka auttoi minua selvittää tämä.

Mac OS X-versiot, ennen kuin High Sierra (joka on versio 10.13 ja julkaistiin syyskuussa 2017), päivämäärä-sarake on aikakausi tyyppi, mutta, toisin kuin standardi laskenta sekuntia 1970-01-01, se on lasketa sekunnin päässä 2001-01-01., Jotta muuntaa se tyyppi tulee tiedot alalla, voimme todella ymmärtää, voimme käyttää komentoa kysyttäessä viesti taulukon luoda uuden kentän (me kutsumme sitä date_utc, koska se antaa UTC-aikavyöhyke päivämäärän seurauksena), joka perustuu päivämäärä-kenttään.

Mac OS X-High Sierra ja edellä, se on sama asia, mutta päivämäärä-muodossa on nyt paljon enemmän rakeinen: se on nano-toinen taso. Joten nyt meidän täytyy jakaa ennen kuin käytämme samaa koodia pätkä sovellimme edellä.,

kaikki yhdessä

löydät muistikirja täällä kaikki koodi, jotta voit poimia oman iMessages kannettavan tietokoneen ja aloittaa analysoimalla!

Se olisi vain kestää muutaman minuutin ja sen jälkeen sinulla pitäisi olla perus historia oman iMessage tiedot, joka sisältää puhelinnumero (tai sähköpostiosoite), tekstin, ainutlaatuinen chat jokaiselle ainutlaatuinen ryhmä ihmisiä oli keskustella ja aikaleima (UTC aikavyöhyke) kunkin viestin lähetti.

tietokannasta löytyy oikeasti lisää tietoja, kuten tiedot, Jos viesti on toimitettu ja luettu sekä liitteet., En koske niihin ominaisuuksiin tässä viestissä.

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *