#1 Le 19/08/2007, à 01:27
- tomtom76320
Utiliser contenu d'un fichier de cahce firefox...
Bonjour à tous!
En ce momment, je développe un script me permettant d'automatiser la récupération de données.
Entre autres, il y a des infos présentes dans /home/user/.mozilla/firefox/feiflfha.default/Cache/_CACHE_* que je voudrai récupérer afin d'isoler à coup de sed, de awk, de grep des infos...Mais voilà, je n'arrive pas à utiliser ces fichiers comme de simples fichiers textes. Peut-être à cause des caractères particuliers qui s'affichent sous forme de coeurs ou autres.En effet, un simple cat sur ces fichiers n'est pas possible et renvoi des choses bizzares (en affiche une partie et me rend la main avec une chaine de caractère déjà "tapée" ou s'arrête en plein affichage)
Ma question est simple: Comment puis-je convertir ce fichier pour pouvoir ensuite l'exploiter?
A l'avance merci!
#2 Le 19/08/2007, à 02:52
- kikdijon
Re : Utiliser contenu d'un fichier de cahce firefox...
hello,
Les fichiers que tu tentes de lire sont en grande partie binaires. Si tu dois y accéder, ce sera par une fonction d'une librairie de firefox. Chez moi, les headers se trouvent dans /usr/lib/mozilla-firefox/include/ . Ca veut dire que tu devras le faire en C, en revanche.
Si tu veux rester dans du script shell (et puisque tu as l'air d'être prêt à utiliser awk et companie), il y a une autre solution : tu peux utiliser la commande 'file'.
Dans ton répertoire de cache, tu fais : 'file *', et il te dira de quel type de fichier il s'agit. Ca te permet ainsi d'isoler facilement les fichiers vidéos, audio, etc, mais ça ne te donne pas leur nom exact.
Tu peux ensuite essayer de deviner quel fichier correspond à quoi, soit manuellement (mais tu perds tout l'intérêt d'un script), soit en prévoyant certains critères. Le plus simple, dans ce second sens, serait de considérer que le fichier que tu veux récupérer est le plus récent (un autre critère possible serait la taille du fichier).
Ainsi, tu isoles les fichiers du type que tu veux, ensuite tu fais un 'ls -l' sur l'ensemble, avec awk, tu récupères le timestamp (date de dernière modification), tu le tries avec 'sort' et tu récupères la première entrée avec 'head -n 1'
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#3 Le 19/08/2007, à 12:04
- tomtom76320
Re : Utiliser contenu d'un fichier de cahce firefox...
Re,
En fait, les fichiers qui se trouvent dans mon cache m'intéressent mais ce que je cherche à récupérer c'est l'adresse d'où ils proviennent.
La page web qui me fournit le lien ne l'affiche pas en clair et dans le _CACHE_* j'ai retrouvé l'adresse en clair.
Maintenant, l'arbo avec /usr/... je n'ai pas trouvé via un grep ce que je cherchais.
Ya pas moyen de convertir un binaire ou tout du moins de récupérer ce qui est "lisible" car en "vi" à la main, j'observe bien les liens.
A l'avance merci!!!
#4 Le 19/08/2007, à 14:14
- kikdijon
Re : Utiliser contenu d'un fichier de cahce firefox...
Je vois,
dans ce cas, je suppose que ce dont tu as besoins est l'option '-a' de grep, qui te permet de lire du binaire que comme texte.
Il te faudra ensuite « épurer » le contenu pour isoler les adresses, par exemple avec sed (personellement dans ton cas, j'opterai pour un langage d'appoint, comme ruby, perl ou python, pour éviter les maux de têtes )
(edit: typos)
Dernière modification par kikdijon (Le 19/08/2007, à 14:15)
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#5 Le 19/08/2007, à 14:52
- tomtom76320
Re : Utiliser contenu d'un fichier de cahce firefox...
Re.
Bon alors là, je sais pas si c'est mon ubuntu qui a buggé mais lorsque je lance un grep -a du fichier en question, l'affichage dans la fenêtre "bug" et affiche des caractères anarchiques et me rend la main avec la ligne qui suit:
├⎺└@├⎺└-␍␊⎽┐├⎺⎻:·/D␊⎽┐├⎺⎻/⎼▒␍␋⎺␉┌⎺±_├␊⎽├$
Là je comprend pas trop...
Quelqu'un a une idée???
#6 Le 19/08/2007, à 16:05
- kikdijon
Re : Utiliser contenu d'un fichier de cahce firefox...
oui c'est normal, ce n'est pas un bug : tu affiches du binaire en texte A toi de filtrer la sortie pour récupérer les informations dont tu as besoin.
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#7 Le 19/08/2007, à 16:26
- Yannick_LM
Re : Utiliser contenu d'un fichier de cahce firefox...
L'option -o (comme only) de grep est faite pour ça...
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#8 Le 19/08/2007, à 19:20
- kikdijon
Re : Utiliser contenu d'un fichier de cahce firefox...
exact, donc tu peux déjà obtenir un résultat intéressant ainsi :
grep -aoE 'http[^ "<>]+' _CACHE_* | sed -r 's/^[^:]+://'
il y a encore deux trois trucs à filtrer ceci dit
Dernière modification par kikdijon (Le 19/08/2007, à 19:21)
blog : http://blog.olivier-elmekki.com
site professionnel : http://olivier-elmekki.com
Hors ligne
#9 Le 19/08/2007, à 22:44
- tomtom76320
Re : Utiliser contenu d'un fichier de cahce firefox...
Ah merci beaucoup!!!
C'est exactement ce que je cherchais!!!