Vous n'êtes pas identifié(e).
Bonjour à tous,
Comme vous le savez, depuis quelques temps j'ai mis en ligne une API Google Suggest développée en Node.js sur le forum que j'ai aujourd'hui rendu Open Source par le biais de GitHub.
Ce post sera utilisé pour son développement futur. J'espère sincérement vous voir contribuer
Dernière modification par duan78 (2016-01-18 22:47:30)
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Fonctionnalités futures :
Ajout des sources Youtube, Google News et Google Image : En Test
Récursivité alphabétique profonde (ab, ac, ad ...) : En Test
Sélection de la langue (actuellement fr_FR uniquement) : En cours
Multisources (Bing + Google) : En cours
Rotation de proxys (migration de request vers node-requester)
Avoir toutes les sources et récursivités dans un seul paramètre
Ajout de requêtes de suggestions prédéfinies (informationelles et transactionnelles type "acheter", "comment" etc.)
Format de sortie au choix (Json, CSV, XML)
Récursivité des suggestions (avec plusieurs niveaux)
Traitement par lots (possibilité d'envoyer plusieurs mots clés)
Possibilité de filtrer la sortie (contient uniquement/contient pas)
Dernière modification par duan78 (2016-01-20 20:15:59)
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Bug Actuel [Statut OK, merci à JHDscript] : Ma récursivité alphabétique profonde ne fonctionne pas car je "n'imbrique" pas ma boucle
Dernière modification par duan78 (2016-01-20 20:17:13)
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
//Code que tu veux faire ici
}
}
Si t as des besoins ou des questions hésite pas a me pm je t aiderai volontier (gratos bien evidemment) Entraide Powaaa
Dernière modification par jhdscript (2016-01-18 21:34:37)
🔴 Hors ligne
var a = "abcdefghijklmnopqrstuvwxyz";
for (var i = 0;i < a.length; i++){
for (var j = 0;j < a.length; j++){
var myKW = KW + ' ' + a[i] + a[j];//Code que tu veux faire ici
}
}
Si t as des besoins ou des questions hésite pas a me pm je t aiderai volontier (gratos bien evidemment) Entraide Powaaa
Merci pour ton aide !!! Ca fonctionne sur ma console, hélas, j'ai un soucis au niveau du res.send, mais tu m'as beaucoup éclairé : je me prenais la tête pour rien avec l'alphabet ! ^^ (ensuite pour ma défense, c'est plus standard )
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Je te dis si ta des soucis hésite pas à mp :-)
Je ne peux pas te MP, il faut d'abord que tu te présente sur le forum pour que je puisse ...
Mon problème semble venir de numberToDo / numberOfDone ...
J'ai mis ma version à jour sur git avec le fameux bug ....
Dernière modification par duan78 (2016-01-19 17:55:02)
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Les dernières fonctionnalités sont en cours de test, à priori je vais devoir quitter request pour passer sur phantom.js ou casper.js : j'ai des soucis d'user agent/proxys qui entrainent une limite lorsque trop d'appels (on parle en milliers d'appels en une seule fois)
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Le problème de phantom, casper est que ils sont consommateur en mémoire. De plus impossible de faker leur référer.
Je pensais que c'était ma solution, j'ai vu pas mal de chose où on pouvais fake l'user agent (ce qui me suffit pour le moment) et faire de la rotation de proxys ...
Ensuite, une autre solution, node-requester : mais ça ne me parrait pas forcement viable par rapport à ce que je veux faire ...
Ensuite ouai, faire tourner un phantom juste pour appeler une API peut être une hérésie, mais compte tenue du degrés d'antispam sur GG, ça me parrait être la seule solution ...
Petit truc, du coup je me suis rendu compte que client1 était aussi limité (moins que querrysuggest mais il y a quand même limite)
Le git est à jour
PS : petite surprise, bientôt l'introduction de bing
Dernière modification par duan78 (2016-01-20 20:14:35)
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Duan pour le user agent et l utilisation de proxies et socks phantom conviendra mais le fake referer est plus problématique. Perso phantom me pose d autre souci dont la conso mémoire qui est de 60mo par instance à peu prêt.
J ai également remarqué que qd on utilise des proxies, le timeout http n est pas respecté.
🔴 Hors ligne
Duan pour le user agent et l utilisation de proxies et socks phantom conviendra mais le fake referer est plus problématique. Perso phantom me pose d autre souci dont la conso mémoire qui est de 60mo par instance à peu prêt.
J'ai également remarqué que qd on utilise des proxies, le timeout http n est pas respecté.
Je pense à un truc pour ton histoire de referer , pour mon api : c'est mort, mais pk tu ne fais pas un scenario où tu vas sur le site referer et tu injecte dans le dom via node le lien du site que tu souhaite scrapper ? --> ainsi, le refrer pourrait-être passé (j'avoue je suis pas du tous sur, car pour moi JS renvois un referer blank, mais bon si t'arrive à "l'injecter" ...
#TuPeuxMinsulterSurCetteRemarque
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
tu devrais peut-être utiliser async pour bien gérer tes requests asynchrones. La combi request + async + proxy ne me pose pas de prob en terme de nombres de requête : https://github.com/caolan/async
Cela pourrait peut-être résoudre ton problème. Ce n'est pas un problème de surcharge de l'event loop ?
🔴 Hors ligne
tu devrais peut-être utiliser async pour bien gérer tes requests asynchrones. La combi request + async + proxy ne me pose pas de prob en terme de nombres de requête : https://github.com/caolan/async
Cela pourrait peut-être résoudre ton problème. Ce n'est pas un problème de surcharge de l'event loop ?
Nan, pour mon cas, ça vient vraiment de Google qui me détecte comme navigateur sans tête ...
Arnaud BOYER, eMarketing Manager @ Label Group
🔴 Hors ligne
Duan l injection fonctionne pour des proxies privés mais comme les proxies publiques sont tous bannis des sites pron et de Google ça ne me convient pas. Pour émuler des garder http j utilisé la console de chrome (F12) et je copie tous les headers pour les passer dans mes webrequests
Dernière modification par jhdscript (2016-01-20 21:10:05)
🔴 Hors ligne
C'est sur que ça consomme plus de mémoire mais l'intérêt de phantom et casper est de pouvoir lire du contenu généré en js/ajax donc pas tellement beaucoup de choix...
Maintenant si c'est pour scrapper de la serp Google ou tout autre contenu html, c'est sur y a pas d'intérêt.
🔴 Hors ligne