如何使用perl刮取ASP网站?

如何使用perl刮取ASP网站?,perl,asp-classic,web-crawler,Perl,Asp Classic,Web Crawler,请告诉我哪个模块用于刮取一个完全用ASP开发的网站,并且它的所有内容都不是正确的HTML语法。开发网站时使用哪种语言无关紧要。您(客户机)从网站上得到的只是生成的HTML(在本例中是破坏的HTML) 您可以使用“LWP”库和“get”函数将网站内容读入变量。。。然后使用正则表达式对其进行分析 像这样: use strict; use LWP::Simple; my $url = 'http://...'; my $content = get $url; if ($content =~ m/...

请告诉我哪个模块用于刮取一个完全用ASP开发的网站,并且它的所有内容都不是正确的HTML语法。

开发网站时使用哪种语言无关紧要。您(客户机)从网站上得到的只是生成的HTML(在本例中是破坏的HTML)

您可以使用“LWP”库和“get”函数将网站内容读入变量。。。然后使用正则表达式对其进行分析

像这样:

use strict;
use LWP::Simple;
my $url = 'http://...';
my $content = get $url;
if ($content =~ m/.../) {
    ...
}

使用哪种语言开发网站并不重要。您(客户机)从网站上得到的只是生成的HTML(在本例中是破坏的HTML)

您可以使用“LWP”库和“get”函数将网站内容读入变量。。。然后使用正则表达式对其进行分析

像这样:

use strict;
use LWP::Simple;
my $url = 'http://...';
my $content = get $url;
if ($content =~ m/.../) {
    ...
}
或者你可以用。它基于
LWP
(其中
LWP::Simple
是的一个非常简单的子集),并提供了许多方便的“类似浏览器”的行为。例如,典型的ASP生成的带有登录cookies的网站的会话管理由Mechanize自动处理

use strict; use warnings;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new;
$mech->get( 'http:://www.example.org/login.asp' );
$mech->submit_form(
    form_number => 3,
    fields      => {
        username    => 'test',
        password    => 'secret',
    }
);
虽然这首先有利于测试,但它仍然有LWP继承的方法,您可以访问普通请求。因此,您也可以访问请求,同时仍然具有内置解析器访问表单和链接的能力

也考虑使用适当的HTML解析器,即使网站的输出不是非常新奇的。有几个这样的人可以处理它。这将比仅仅建立起来容易得多。一旦您需要返回,这些将变得很难维护,因为页面已经更改了某些内容

以下是有关此主题的相关问题列表:

    • 或者您可以使用。它基于
      LWP
      (其中
      LWP::Simple
      是的一个非常简单的子集),并提供了许多方便的“类似浏览器”的行为。例如,典型的ASP生成的带有登录cookies的网站的会话管理由Mechanize自动处理

      use strict; use warnings;
      use WWW::Mechanize;
      my $mech = WWW::Mechanize->new;
      $mech->get( 'http:://www.example.org/login.asp' );
      $mech->submit_form(
          form_number => 3,
          fields      => {
              username    => 'test',
              password    => 'secret',
          }
      );
      
      虽然这首先有利于测试,但它仍然有LWP继承的方法,您可以访问普通请求。因此,您也可以访问请求,同时仍然具有内置解析器访问表单和链接的能力

      也考虑使用适当的HTML解析器,即使网站的输出不是非常新奇的。有几个这样的人可以处理它。这将比仅仅建立起来容易得多。一旦您需要返回,这些将变得很难维护,因为页面已经更改了某些内容

      以下是有关此主题的相关问题列表: