Question

Je souhaite explorer un site avec Greasemonkey et me demander s'il existe un meilleur moyen de stocker temporairement des valeurs qu'avec GM_setValue.

Ce que je veux faire, c'est explorer mes contacts dans un réseau social et extraire les URL Twitter de leurs pages de profil.

Mon plan actuel est d'ouvrir chaque profil dans son propre onglet, afin qu'il ressemble davantage à une personne qui navigue normalement (c'est-à-dire que les fichiers css, scrits et images seront chargés par le navigateur). Puis stockez l'URL Twitter avec GM_setValue. Une fois que toutes les pages de profil ont été explorées, créez une page en utilisant les valeurs stockées.

Je ne suis toutefois pas satisfait de l'option de stockage. Peut-être y a-t-il un meilleur moyen?

J'ai envisagé d'insérer les profils utilisateur dans la page en cours pour pouvoir tous les traiter avec la même instance de script, mais je ne suis pas sûr que XMLHttpRequest semble indiscernable des requêtes initiées par l'utilisateur.

Était-ce utile?

La solution

J'ai eu un projet similaire dans le cadre duquel je devais obtenir un grand nombre de (données de ligne de facturation) d'un site Web et l'exporter dans une base de données de comptabilité.

Vous pouvez créer un back-end .aspx (ou PHP, etc.), qui traite les données POST et les stocke dans une base de données.

Toutes les données souhaitées d'une seule page peuvent être stockées dans un formulaire (masqué à l'aide des propriétés de style si vous le souhaitez), à l'aide de noms de champs ou d'identifiants permettant d'identifier les données. Il vous suffit ensuite de transformer l'action de formulaire en page .aspx et de soumettre le formulaire à l'aide de javascript.

(Vous pouvez également ajouter un bouton d'envoi à la page, ce qui vous permet de vérifier les valeurs du formulaire avant de l'envoyer à la base de données).

Autres conseils

Je pense que vous devriez d’abord vous demander pourquoi vous souhaitez utiliser Greasemonkey pour votre problème particulier. Greasemonkey a été développé pour modifier l'expérience de navigation, et non comme une araignée. Bien que vous puissiez peut-être demander à Greasemonkey de le faire à l’aide de GM_setValue, je pense que vous trouverez votre solution kludgy et difficile à développer. Cela nécessitera de nombreuses étapes manuelles (comme ouvrir tous ces onglets, effacer les variables Greasemonkey entre les exécutions de votre script, etc.).

Est-ce que ce que vous faites nécessite que le code JavaScript de la page soit exécuté? Dans ce cas, vous pouvez envisager d'utiliser Perl et WWW :: Mechanize :: Plugin :: JavaScript . Sinon, je vous recommanderais de faire tout cela dans un simple script Python. Vous voudrez jeter un coup d'œil à la urllib2 module. Par exemple, examinez le code suivant (notez qu'il utilise cookielib pour gérer les cookies, dont vous aurez probablement besoin si votre script nécessite que vous soyez connecté à un site):

import urllib2
import cookielib
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
response = opener.open("http://twitter.com/someguy")
responseText = response.read()

Vous pouvez ensuite effectuer tous les traitements souhaités à l'aide d'expressions régulières.

Avez-vous envisagé Google Gears? Cela vous donnerait accès à une base de données SQLite locale dans laquelle vous pourrez stocker de grandes quantités d’informations.

  

La raison de vouloir Greasemonkey   est-ce que la page à explorer fait   pas vraiment approuver des robots.   Greasemonkey semblait être le plus facile   façon de faire le look de chenille   légitime.

En fait, corrompre votre robot d'exploration via le navigateur ne le rend pas plus légitime. Vous ne respectez toujours pas les conditions d'utilisation du site! WWW :: Mechanize, par exemple, est tout aussi bien adapté pour "usurper" votre chaîne d'agent utilisateur, mais cela et l'exploration le sont, si le site n'autorise pas les spiders / crawlers, ils sont illégaux!

  

La raison de vouloir Greasemonkey est que la page à explorer n’approuve pas vraiment les robots. Greasemonkey semblait être le moyen le plus simple de donner un aspect légitime au robot d'exploration.

Je pense que c'est le moyen le plus difficile imaginable de donner à un robot une apparence légitime. Usurper un navigateur Web est très facile avec quelques notions de base sur les en-têtes HTTP.

De plus, certains sites ont des méthodes heuristiques qui recherchent des clients se comportant comme des araignées. Par conséquent, le simple fait de ressembler à une requête comme un navigateur ne signifie pas que vous ne saurez pas ce que vous faites.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top