• GEPHI
  • LINKFLUENCE
  • MAGELLAN
  • WEBATLAS

Web-mining.fr

  • forum
  • technologies
  • méthodes
  • liens
  • science
Accueil › Forums › Support utilisateur › Soutiens de vos projets

Facecrawl

21 replies
jeu, 12/25/2008 - 23:30
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.

Discussion d'archives, les auteurs initiaux ont été perdu durant le transfert...

Bonjour à tous

J'ai réalisé une extension firefox pour crawler facebook et tracer le graphe du réseau des étudiants UTCéens.
Pour cela, il faut :
- Avoir un compte sur facebook et appartenir au réseau de l'UTC (sinon, faut crawler un autre network)
- Avoir firefox  :D
- Installer l'extension :http://paulpoirel.is-a-geek.org/~canard/facecrawl/facecrawl.xpi
(soyez indulgents, je me suis mis à XUL ce matin, tout était en HTML/javascript avant, et je n'y connais pas grand chose)
- Lancer l'URL chrome://facecrawl/content/facecrawl.xul
- Renseigner le network et l'utilisateur (par défaut, c'est moi et le réseau de l'UTC, les ids sont dans les liens, faut chercher un peu ...)
- Lancer le crawl et aller boire un café (désactiver les images pour accelerer)
- Appuyer sur output pour générer le code gdf, qui peut donner un fichier visualisable sous guess.

Là j'ai un souci, mon PC plante dès qu'il y a un peu trop de noeuds dans guess. J'espère que vous aurez plus de chance ...

A venir :
- Export du fichier gdf directement
- Enregistrement et réouverture de session
- Un lien dans le menu de firefox dès que j'aurais appris les overlays en xul

Enjoy !

Paul

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:30
#1
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Je suis en train de tester,

Je suis en train de tester, et ça m'a l'air délicieux ! O0

Pour ceux qui cherchent leur ID facebook, elle se situe à la fin de l'url du profil : http://www.facebook.com/profile.php?id=MON_ID

Pour l'ID des réseaux, cherchez un lien menant vers l'un deux, l'id est la suite de chiffre coincée entre networks/ et le nom du réseau, par exemple pour l'UTC : http://www.facebook.com/networks/16827359/Universit_de_Technologie_de_Co...

Bon chez moi ça tiens la charge ! Mais j'ai quelques petites remarques / conseils :

  • Pas la peine de penser l'export GDF, un copier-coller depuis l'output suffira, à l'instar de jsTechnorati
  • Télécharge jsTechnorati pour copier-coller de code de l'overlay et skin qui te permettra de créer un bouton dans la barre d'outils ;)
  • La structure du GDF n'est pas correcte : ta première ligne devrait être "nodedef>name VARCHAR" et non "nodedef>name"
  • Même remarque pour l'edgedef
  • Pour qu'on puisse interpréter les graphes produits, il faut plus de données, par exemple associe un nom à chaque noeud ;) Pour cela je te conseille d'utiliser le classique "nodedef>id VARCHAR,label VARCHAR" pour que les noms soient pris en compte par Gephi (dont l'alpha va bientôt sortir du four ^^)
  • Tu devrais modifier le nom du bouton "Stop" en "Stop/Pause" (oui je suis très chiant sur l'ergonomie) pour rassurer le premier utilisateur
  • IMPORTANT : laisser l'utilisateur définir la profondeur maximale de crawl, ou ça sera simplement inutilisable tant le crawler partira dans tous les sens !
  • Essaye de rendre la durée entre deux chargements de page aléatoire, sinon Facebook va nous choper et désactiver nos comptes...

Excellent travail en tout cas ! T'as mérité ton A en IC05 ;)

PS : pour Guess c'est normal, ce vieux logiciel ne supporte pas plus de 2000 noeuds, mais n'aie crainte car Gephi arrive sous peu lol :D

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:30
#2
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Salut Paul ! Bravo pour ton

Salut Paul ! Bravo pour ton excellent travail !

Belle impression pour ton premier post sur le forum  ;D

J'attend que Seb me montre jeudi car je n'ai pas de compte Facebook (j'ai pas encore vendu mon âme au diable :P)

En attendant je peux quand même te donner un petit conseil XUL. Faut bien montrer sa science de temps en temps :p

  • Les noms des fonctions Javascript sont globales dans les extensions Firefox, donc ta fonction Crawl par exemple pourrait faire conflit avec une autre fonction Crawl d'une autre extension. En théorie tout de même car je n'ai jamais testé pour les scripts qui ne sont pas dans un overlay. Le mieux est donc d'encapsuler tes fonctions à l'intérieur d'objets, Crawl devient donc facecrawl.Crawl. Pareil avec tes déclarations.
  • Tu peux regarder le code de Flem ou jsTechnorati aussi, il utilisent deux methodes différentes, mais c'est propre niveau JS. D'ailleurs ces deux extensions sont des bons exemples pour les overlay, les préférences, les traductions ; pas trop de code pour s'embrouiller et tout fait dans la 'norme'.

Sinon avec ton extension, il y a peu d'efforts à faire pour scrapper pleins d'infos sur les pages facebook non ? Nos amis chercheurs en sciences sociales recherche justement ce genre d'outil, je dirais même preque "recherche déséspérement".

Joli travail j'ai hâte de voir les graphes que ça donne  ;)

Quand tu l'auras un peu plus fignolé il auras sa page sur web-mining.fr

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:34
#3
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Merci pour les remarques ... 

Merci pour les remarques ...  :)

Pour le format gdf, j'ai suivi une doc assez simple, je vais me repencher sur la question ...
EDIT : http://guess.wikispot.org/The_GUESS_.gdf_format
Apparemment, name, node1 et node2 sont de type connus, il ne faut rajouter le type que pour les identifieurs non reservés
Quant aux noms, je veux bien les mettre mais ca pose peut-être des problèmes de droit, non ? ???

En tous cas, c'est très facile de récupérer des informations diverses, il suffit de rajouter le chargement de la page profile.php et de se balader dans le DOM, ce qui n'est pas très difficile en javascript  ;D

Vu qu'il fonctionne en largeur d'abord (mise en file des informations), je ne pense pas qu'il soit utile de définir une profondeur maxi, l'utilisateur n'a qu'à arréter quand il le souhaite, mais l'idéal serait de crawler un network entier pour avoir un graphe qui ressemble à quelque chose.

Je vais rajouter un petit timer aléatoire

Quant à l'interface, je vais je pense fusionner les boutons crawl et stop, un peu comme le bouton lecture/pause d'un lecteur multimédia ...

Je vais passer en objet d'ici peu, de toutes façons, il commence à y avoir trop de globales  :-\

Quant à l'overlay, je vais m'y mettre, j'y suis pas encore dans mon tutoriel XUL  ;D

Je pense attendre la fin des finaux pour les mises à jour  :-\

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:34
#4
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Ca y est j'ai fait une petite

Ca y est j'ai fait une petite mise à jour :

http://paulpoirel.is-a-geek.org/~canard/facecrawl/facecrawl.xpi

  * Ajout d'un timer aléatoire entre chaque chargement de page pour ne pas se faire griller par facebook :-D
  * Amélioration de l'interface
    o Gestion du crawl : Fusion des boutons Crawl et Stop en un bouton start/pause
    o Ajout dans l'interface firefox
  * Encapsulation dans un objet pour éviter les interférences avec d'autres scripts

Par ailleurs, j'ai créé une page sur mon wiki concernant ce projet :

http://paulpoirel.is-a-geek.org/doku.php?id=facecrawl:facecrawl

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:34
#5
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Un petit conseil : faire

Un petit conseil : faire super gaffe en crawlant Facebook car vous outrepassez les conditions d'utilisation.

Robert Scobble, pape de la blogosphère s'est fait bannir après avoir fait tourner un script de chez Plaxo...

Il a depuis été réintégré. Mais tout ça pour dire qu'ils font super gaffe.

Un petit lien en français sur l'affaire.

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:36
#6
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Oui je me doute bien que

Oui je me doute bien que facebook n'est pas trop d'accord avec ce que je fais.
D'un autre coté, je ne récupère aucune info personnelle, et j'ai un timer de 3 secondes en moyenne entre chaque chargement de page.
Sinon, j'ai bien bossé, et j'ai corrigé pas mal de petits bugs à la con.

Reste à gérer le timeout d'une page, et aussi les finaux, je crois  ;D

Je suis actuellement en train de faire un gros crawl, j'ai crawlé environ un tiers du network ce soir, donc je pense faire un crawl intégral, le temps de réviser mon final de demain ...

EDIT:

Le crawl a planté à la fin, je pense que c'est parce qu'il avait épuisé le contenu ...

Voici le fichier gdf du network UTC sur facebook : http://paulpoirel.is-a-geek.org/~canard/facecrawl/utc.gdf
En revanche, Guess a du mal ... (faut dire que c'est la jre sur ubuntu avec un celeron ;D). J'ai tout de même réussi à faire un layout gem et un radial. On ne voit pas grand chose sur le gem, mais le radial est assez intéressant.


Il y a 1015 noeuds et 9992 liens, sachant que le network UTC compte en réalité 1072 personnes ...

Et il y a huit points qui ne devraient pas y être suite à un petit bug, mais j'ai eu la flemme de les chercher ...

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:36
#7
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
[quote author=cam

Quote:

Un petit conseil : faire super gaffe en crawlant Facebook car vous outrepassez les conditions d'utilisation.

Robert Scobble, pape de la blogosphère s'est fait bannir après avoir fait tourner un script de chez Plaxo...

Il a depuis été réintégré. Mais tout ça pour dire qu'ils font super gaffe.

Un petit lien en français sur l'affaire.

On va voir comment ca évoluera dans mon cas ...  O0
Ca aurait pu être rigolo qu'ils virent l'ip de l'utc  ;D

Quote:
Hello,

I, indeed, used an automatic script last night, drawing a map of my
network (see attachments).
I have did it for a course of topology of the Internet, and did not
think that I was doing something wrong.

I did not save any personal information, neither names nor emails, but
just numeric ids.
The goal was to see the structure of the social network of my
university and to show it to an epidemiologist (does this word exist
in English ?).
I never thought at any use commercial of this.

I apologize and won't do it again ...

Sincerely yours

Paul Poirel

PS : I join the firefox extension i developped too, if you want to
have a look at it, and my data file, that you can open in a text
editor, you will see that there is no personnal information.

On Jan 18, 2008 9:11 AM, Facebook <disabled@facebook.com> wrote:
> Hello,
>
> Our systems indicate that you've been highly active on Facebook lately and viewing pages at a quick enough rate that we suspect you may be running an automated script. This kind of Activity would be a violation of our Terms of Use and potentially of federal and state laws.
>
> As a result, your account has been disabled. Please reply to this email with a description of your recent activity on Facebook. In addition, please confirm with us that in the future you will not scrape or otherwise attempt to obtain in any manner information from our website except as permitted by our Terms of Use, and that you will immediately delete and not use in any manner any such information you may have previously obtained.
>
> We reserve the right to take any appropriate action in connection with any activities that violate our Terms of Use and/or applicable laws, including termination of your account and pursuit of legal remedies.
>
> Please reply to this email.
>
> Thank you,
> Facebook Customer Support
>
>
>

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:36
#8
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Ah bah ils ont pas

Ah bah ils ont pas trainé...

Pour Guess c'est normal que ça rame, c'est de la 2D qui est de toute manière limitée queluque soit ta machine.

Pour le radial...eh bien je parie que le centre c'est le niveau 0 de ton crawl, puis on a la profondeur 1, puis 2...?

EDIT :

Bon avec Gephi il n'y a rien d'autre à dire...parce qu'un graphe sans métadonnées ne sert à rien.

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:38
#9
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
@Seb : avec Gephi, ce genre

@Seb : avec Gephi, ce genre de graph est affichable sans probleme je suppose? Et de maniere rapide? Parce qu'avec guess, c'est la croix et la banniere...

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:38
#10
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Ben oui c'est une histoire de

Ben oui c'est une histoire de secondes ;D

Mais sans métadonnées sur lesquelles appliquer des filtres, on n'y voit pas plus que ça.

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:38
#11
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Quote:Ah bah ils ont pas

Quote:

Ah bah ils ont pas trainé...

Ben en fait, comme il a planté en cours de crawl (guess m'a obligé à rebooter deux fois), vers deux heures du matin, j'en ai eu marre et j'ai mis le timer à 0s, me disant qu'avec la connexion de l'UTC, j'aurais fini de crawler avant de me faire choper  ;D
Mais avec un timer, je l'avais déjà pas mal lancé sans problème ...

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:38
#12
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Une manière de contourner le

Une manière de contourner le problème, c'est de définir une profondeur 2 et de faire exécuter le crawler par plusieurs personnes du réseau, et il ne reste plus qu'à fusionner les GDF...un crawler distribué en quelque sorte  ;)

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:39
#13
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Ca sent le codage à l'arrache

Ca sent le codage à l'arrache d'une petite appli pour fusionner des gdf tout ca ^^. Qui se lance?
@poirelpa : ils t'ont rouvert ton compte?

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:39
#14
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Non, ils ont toujours pas

Non, ils ont toujours pas répondu à mon mail ... :-\
En même temps, je m'en fous un peu de mon compte facebook et je savais à quoi je m'exposais ...

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:39
#15
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Quote:Ca sent le codage à

Quote:
Ca sent le codage à l'arrache d'une petite appli pour fusionner des gdf tout ca ^^. Qui se lance?

C'est bon je le fais, ça me détendra après le rapport de stage :o

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:40
#16
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Tu compte faire comment si

Tu compte faire comment si pour un meme noeud on a deux meta donné différente :
genre deux utilisateurs du navicrawler font un crawl et certain noeuds sont validés par l'un et refusé par l'autre

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:40
#17
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
ça ira pas jusque là, parce

ça ira pas jusque là, parce que je vais pas redévelopper un outil déjà prêt en interne...non ça sera juste de la fusion minimale de GDF, genre 2 que tu fais seul comme un grand.

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:40
#18
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Puisque facecrawl ne peut

Puisque facecrawl ne peut plus avancer (faute de compte facebook)  O0, je me suis penché sur l'aspect visualisation des données.

J'ai donc essayé de coder un outil de visualisation en javascript, pour être integré directement dans facecrawl ou le navicrawler.

Je suis encore au début, mais j'ai déjà un petit truc rigolo  ;D
J'ai mis en place un semblant d'algorithme spring pas encore tout à fait au point

A noter que le drag and drop sur les noeuds permet de faire des trucs très amusants, on peut transformer un héxagone en pentagone avec un point au milieu, etc ...

Pour information, c'est du SVG manipulé via le DOM en javascript

http://paulpoirel.is-a-geek.org/~canard/graphe/graphe.xml

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
jeu, 12/25/2008 - 23:40
#19
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
C'est très bon ! C'est une

C'est très bon ! C'est une très bonne piste le SVG. Je ne sais pas si tu es au courant mais dans Firefox 3 le SVG va 10 fois plus vite :P
Ton outil est destiné à être léger et portable je pense ? d'ailleurs c'est à mon sens dans cette optique qu'il trouve toute sa place. Je dirais donc que le plus important ce n'est pas forcément la spacialisation en temps réel (même si c'est un défis tentant mais pas forcément réalisable, je ne te décourage pas de creuser néanmoins, loin de moi cette idée  ;)). En revanche je pense qu'il faut que ça soit bien ergonomique et utilisable simplement.
Pour pousser un peu plus loin essaye d'imaginer un widget graphe que l'on peux intégrer à son blog pour montrer son environnement, qu'en pense-tu ? ta viz serait géniale ici

Tiens nous au courant  ;) Ouvre un topic même ça serait mieux même  :)

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
ven, 12/26/2008 - 00:04
#20
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
Je viens de récupérer mon

Je viens de récupérer mon compte facebook ! :)

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires
ven, 12/26/2008 - 00:17
#21
archive
Joined: 01/07/2009
User offline. Last seen 1 an 34 semaines ago.
dommage,il faudrait faire une

dommage,
il faudrait faire une pétition facebook pour avoir un service équivalent à Audioscrobber :D

Top
  • Vous devez vous identifier ou créer un compte pour écrire des commentaires

Syndiquer le contenu

Connexion utilisateur

  • Créer un nouveau compte
  • Demander un nouveau mot de passe

Tags

blogosphère carte communauté crawling design Firefox Flem Gephi Google graphe information retrieval interface graphique Internet Navicrawler science search engine Social Network Analysis système d'information web sémantique TALN visualisation Web WebAtlas Wikipedia
plus de tags

Recherche

Actu blog

  • Introduction de Gephi 0.7 en vidéo
  • Cours UTC-IC05 : Analyse Exploratoire de Données Numériques
  • DevWeb, moteur de recherche spécialisé pour les développeurs
  • WebCSTI Rencontres OCIM 2009
  • gexf.net, un nouveau site web pour le format de fichier de graphe GEXF
  • Konodeo - Les Maîtres de l'Arctique
  • Konodeo - Portail de démonstration Arctique
  • Livre blanc WebAtlas : Du Nuage aux Abymes
  • Communautés de logiciel libre : un écosystème des motivations
  • Le web scientifique européen cartographié
en savoir plus

Actu forum

  • jeu de données
  • compatibilité avec firefox > 3.5
  • Une autre base de données orientée graphe
  • Détection de communautés dans les réseaux sociaux
  • libellés
en savoir plus

Partenaires


WebAtlas, le projet de recherche dirigé par Franck Ghitalla, qui a vu naître le Navicrawler de Mathieu Jacomy, une petite merveille pour l'exploration du Web.


Linkfluence, dont l'Observatoire Présidentielle 2007 a fait beaucoup de bruit, avec notamment sa blogopole cartographiant la blogosphère politique, et désormais aux Etats-Unis.


Gephi, le logiciel libre d'exploration et de manipulation des réseaux, permet de représenter et d'interpréter des structures complexes. Il est téléchargeable gratuitement.

Syndication

  • Flux général
  • Flux général des commentaires
  • Flux du Forum

Network Sciences, web mining, data mining, text mining, crawling, scrapping, graph viz, data viz, small worlds, clustering, social networks, social network analysis, link analysis, maps, cartographie, indexation, moteurs de recherche, Firefox, Web 2.0

Flux RSS

Syndiquer le contenu
sitemap
  • forum
  • technologies
  • méthodes
  • liens
  • science