2015-09-21 4 views
-1

Я пытаюсь использовать PerlMojo::UserAgent для обхода веб-сайта, но сервер проверяет возможность поддержки Javascript браузера. Можно ли сказать/лежать на моей клиентской поддержке Javascript?Как сказать серверу Я могу разобрать Javascript в Perl Mojo :: UserAgent?

Теперь у меня есть только этот код:

use Mojo::DOM; 
use Mojo::UserAgent; 

my $ua = Mojo::UserAgent->new; 
$ua = $ua->transactor(Mojo::UserAgent::Transactor->new); 
$ua->transactor->name('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:21.0) Gecko/20100101 Firefox/21.0'); 
my $tx = $ua->post("http://..." => form => { 
        "login_username" => "...", 
        "login_password" => "..." 
      }); 

Это можно сделать? Если это невозможно, существует ли какой-либо другой пользовательский агент на основе perl, что можно сделать?

+0

Коэффициенты в том, что сервер не выполняет такую ​​проверку. Вероятно, он просто возвращает веб-страницу, в которой говорится, что вы не поддерживаете JS и некоторые JS, которые избавляются от этого сообщения. Причина, по которой вы видите сообщение, состоит в том, что вы не разбираете его. – Quentin

+0

@Quentin, так что нет способа увидеть тот же контент, что я вижу на своем рабочем столе Google Chrome или Firefox? – netdjw

ответ

-1

Существует два основных подхода к очистке данных с веб-сайта, которые зависят от JavaScript.

  1. Обратный инженер сайта. Выясните, что делает JavaScript, а затем повторите эту функцию в своем собственном коде.
  2. Драйвер веб-браузера, который поддерживает JavaScript (например, через Selenium или PhantomJS - оба из которых имеют модули CPAN) и извлекает данные из браузера.