Skip to content
JS smart crawler using reinforcement learning
Branch: remotecrawlers
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
algorithm
crawler
documents
logs
preprocessing
test
utils
.gitignore
README.md
package-lock.json
package.json

README.md

SMARTBOTJS

Smart crawler using reinforcement learning to avoid detection.

Program Flow Actions :

Actions classiques. L'action permettant de faker la réactivité à un Iframe sera peut être ajoutée.

Sérialisation

Les éléments à sérialiser sont les Q-values, les paramètres de l'algorithme, les sites webs et leurs attributs, les états, les actions, l'épisode auxquel nous nous somme arrêtés. Nous pouvons stocker tout ceci dans une fichier json. Les interruptions de programmes dûs aux signaux SIGINT ou SIGQUIT meneront à l'enregistrement de l'état du programme.

Fonctions d'approximations dans notre cas

Pour le moment, nos valeurs sont représentés par des tables de lookup. Cela cause des problèmes aux niveaux de larges MDPs, comme nous l'avons vu dans notre cas dès que nous ajoutons quelques attributs de plus, le nombre d'états explose, et s'ensuit une explosion du nombre de Q-values.

La solution est donc d'approximer ces derniers par une fonction, qui va être paramétrée par des poids.

Function approx

Types possibles :

  • Lineaires
  • Réseaux de neurones
  • Arbre de décision
  • Nearest Neighbour
  • Fourrier/Ondelettes

Les FA vont nous permettre d'avoir une définition plus vague d'un état et ainsi de pouvoir s'adapter à de nouveaux états.

On doit pouvoir implémenter un algorithme utilisant une fonction d'approximation après une documentation plus complète.

Update 19/12 : Réglé un soucis d'actions, ecriture q-learning, reglage de soucis de puppeteer mise a jour de la liste des proxies, debut de la reflection sur le multi bot

You can’t perform that action at this time.