52 votes

Comment puis-je contrôler PhantomJS à sauter téléchargement de certains types de ressources?

phantomjs a config loadImage,

mais j'en veux plus,

comment puis-je contrôler phantomjs à sauter téléchargement de certains types de ressources,

comme les css etc...

=====

bonne nouvelle: cette fonctionnalité est ajoutée.

https://code.google.com/p/phantomjs/issues/detail?id=230

L'essentiel:

page.onResourceRequested = function(requestData, request) {
    if ((/http:\/\/.+?\.css/gi).test(requestData['url']) || requestData['Content-Type'] == 'text/css') {
        console.log('The url of the request is matching. Aborting: ' + requestData['url']);
        request.abort();
    }
};

7voto

www.eugenehp.tk Points 385

Donc, finalement, vous pouvez essayer ce http://github.com/eugenehp/node-crawler

sinon, vous pouvez toujours essayer de le ci-dessous approche avec PhantomJS

Le moyen le plus facile, est de charger la page -> parse la page -> exclure les indésirables de la ressource -> charger dans PhatomJS.

Une autre façon est de simplement bloquer les hôtes dans le pare-feu.

Optionnellement, vous pouvez utiliser un proxy pour bloquer certaines adresses URL et les requêtes pour eux.

Et supplémentaire, la charge de la page, puis supprimer les indésirables de ressources, mais je pense que c'est pas la bonne approche ici.

3voto

SHAWN Points 31

Pas moyen pour l'instant (phantomjs 1.7), il ne supporte PAS que.

Mais une mauvaise solution est d'utiliser un proxy http, de sorte que vous pouvez filtrer certains demande que vous n'avez pas besoin

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X