Growth hacker, codeur ?


#1

Difficile de cerner les qualités exactes du growth hacker, mais il semble qu’on s’accord sur le fait qu’il doit être un peu hacker dans l’âme. Plus précisément, il doit maîtriser suffisamment le code pour pouvoir lui même écrire un scraper par exemple.

Le code ce n’est pas si complexe, quand on prend un langage comme Ruby, il faut bien voir qu’il suffit de maîtriser trois notions pour pouvoir tout faire :

  • La notion de variable, et d’assignation (name = "Sebastien"). En gros c’est une boîte dans laquelle on stocke une valeur qui va varier tout au long de l’exécution du programme.
  • La notion de branchement (if name.length > 0), qui sert à partir dans une direction ou une autre en fonction d’une condition booléenne. Par exemple, s’il pleut, je prends mon parapluie, sinon je prends mes lunettes de soleil.
  • La notion de récursivité (du code qui s’appelle lui-même, cf Wikipedia, ou demandez-moi un exemple, j’en ai un bien avec la somme de nombres entiers)

En pratique, on introduit les boucles for et while pour éviter de jouer avec la récursivité trop souvent. On fait de la programmation objet pour architecturer un peu nos programmes, et on regroupe le code dans des méthodes.

Mais finalement lors qu’on fait un script de scrapping pour Twitter ou des adresses mail, il faut connaître les variables, les types de base (tableaux, hash, …), et savoir lire une documentation (par exemple la doc du module qui sert à faire des requêtes HTTP). Personne ne vous en voudra d’avoir un script crade, si il a fait le job.

Alors pour tous ceux qui ne sont pas encore codeur, je vous encourage à vous y intéresser de près et surtout de ne pas vous mettre des barrières psychologique. Pour les dev experts du forum, vous pouvez préciser / infirmer mes points si vous voyez quelque chose d’incorrect ! Il y a plein de ressources en lignes pour commencer, comme par exemple CodeAcademy.

Et pour ceux qui sont libres en septembre, Le Wagon organise une formation qui va juste être géniale (première mondiale !), 2 semaines de retraite Code & Surf dans les Landes pour apprendre à coder. J’aurai le plaisir de faire cours dans ces conditions idylliques, j’espère en voir certains d’entre vous.

Bon week-end à tous,

Sébastien
Si vous avez des questions, @ssaunier ou 06 62 33 31 19


#2

Merci @ssaunier. Ta touché un peu à Scrapy ? J’ai pas mal entendu parler de Google Refine aussi.

Pour ceux que ça intéresse la pattern email regex : [A-Z0-9._%±]+@[A-Z0-9.-]+.[A-Z]{2,6}. Ça peut être pratique le regex lorsque le Xpath est différent sur les différentes pages à scraper.


#3

Sympa le Surfcamp! :smile:

Merci pour avoir créer ce sujet, on est totalement dans ce que j’aime faire. Je dirais qu’un growth hacker doit savoir dans l’idéal reconnaitre des patterns de growth et les automatiser rapidement quand cela est possible de façon à pouvoir tester et mesurer l’impact. Pour cela, des dizaines de solutions différentes existent mais voici celles que j’utilise (par ordre de difficulté).

  1. iMacro. C’est un plugin Firefox ou Chrome qui permet de rapidement automatiser certaines actions récurrentes dans le browser. Le gros plus c’est que vous n’avez même pas besoin de savoir coder pour l’utiliser. Vous pouvez très simplement demander à l’addon d’enregistrer et de répéter les actions que vous faites à l’écran. Évidemment l’utiliser comme ceci c’est très limité et je vous conseille de jeter un oeil à la documentation officielle. Leur langage est très intuitif, mais j’utilise JavaScript pour avoir encore plus de souplesse dans le code.

  2. cURL. Surement l’une des solutions les plus connues. Il y a d’ailleurs un excellent bouquin que j’ai lu il y a quelques années qui vous expliquera comment construire vos propres bots: Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP/CURL. Si vous êtes un adepte de PHP, cela devrait vous plaire. Le gros désavantage (voir solution 3 pour y remédier): si votre target utilise du javascript abondemment sur son site (notamment pour l’AJAX), ça va être très difficile d’y naviguer. (le JavaScript n’est pas interprété)

  3. PhantomJS, CasperJS & SpookyJS. Cette solution va vous demander d’avoir un certain niveau en code et surtout en JavaScript avant de pouvoir faire quelque chose d’intéressant. PhantomJS est un browser Webkit headless que vous allez contrôler avec CasperJS (pour la petite anecdote, cette librairie a été développé par un Français). SpookyJS vous sera utile si vous souhaitez contrôler CasperJS depuis Node. Ça reste pour moi un moyen extrêmement robuste de construire des bots. Je n’ai jamais réussi à ne pas pouvoir faire quelque chose. C’est très puissant mais demande un peu de pratique !

Pour ceux que ça peut intéresser voici une CheatSheet que j’ai réalisé qui résume entièrement toutes les possibilité de ce trio: CasperJS #2: CheatSheet with PhantomJS and Spooky.

Si certains sont aussi intéressé par des expressions regulières, jetez un oeil à ceci: Regex #1: CheatSheet for JavaScript.

Les bots c’est mon métier, j’ai commencé très jeune à en développer. Donc hésitez pas à me contacter si vous avez besoin d’aide ou de conseils ! Je peux rapidement vous faire atteindre un très bon niveau. Si vous cherchez des ressources, ce blog est plutôt cool: Scraping.pro.


#4

Pour ceux qui le souhaite j’ai écris un modeste article dans le linux magazine de ce mois ci sur le thême “web scrapping en perl”. L’article est composé d’exemple simple afin de coder rapidement un premier script permettant de collecter des informations.


Team : CamilleBriceJulienVivianBorisXavierSteven.