使用输入参数

Using Input Parameters in Data Extraction Projects


输入参数可以提供给web抓取项目,并且可以在项目内的所有脚本中使用。

输入参数可用于与项目初始化脚本初始化一个web-scraping项目为一个特定的环境中,例如设置数据库连接测试数据库在测试环境中运行时,并设置连接到生产数据库运行时在生产环境中。

可以在web抓取项目中定义特定的输入参数。所有已定义的参数都可以有一个默认值。

使用输入参数_第1张图片
image.png

如果项目有任何定义的输入参数,那么当您从Visual Web Ripper 设计器中运行一个Web抓取项目时,就会出现一个参数进入屏幕。

使用输入参数_第2张图片
image.png

如果您从命令行运行一个web抓取项目,您可以提供任意数量的已定义的和新的输入参数。所有的参数都可以用于项目中的脚本。如果不为已定义的参数提供值,则使用默认值。


使用输入参数_第3张图片
image.png

此时,您不能为使用内置调度程序运行的项目提供输入参数。

使用输入参数改变目标数据源 Using Input Parameters to Change the Destination Data Source


您可以配置一个项目初始化脚本,以使用输入参数来更改目标数据源。该脚本只会更改所提供的数据库连接属性。例如,如果没有提供用户名,将使用默认的用户名。

在Advanced Options窗口中添加了一个项目初始化脚本。

使用输入参数_第4张图片
image.png

下面的脚本确定输入参数是否存在,然后设置相应的数据库连接属性。

使用输入参数_第5张图片
image.png

设置FixedValue内容来匹配输入参数Setting FixedValue Content Equal to the Value of an Input Parameter


您可以使用一个简单的内容转换脚本来设置内容元素等于输入参数的值。

using  System;   
using  VisualWebRipper.Internal.SimpleHtmlParser;   
using  VisualWebRipper;   
public   class  Script   
{   
     public   static   string  TransformContent(WrContentTransformationArguments args)   
    {   
         try   
        {               
             return  args.InputParameters[ "par1" ];   
        }   
         catch (Exception exp)   
        {               
            args.WriteDebug(exp.Message);   
             return   "Custom script error" ;   
        }   
    }   
}  

设置FormField内容来匹配输入参数Setting FormField Content Equal to the Value of an Input Parameter

您可以使用一个简单的输入转换脚本来设置一个FormField内容元素,它等于一个输入参数的值。

using  System;   
using  VisualWebRipper.Internal.SimpleHtmlParser;   
using  VisualWebRipper;   
public   class  Script   
{   
     //See help for a definition of WrInputTransformationArguments.   
     public   static   string  TransformInput(WrInputTransformationArguments args)   
    {   
         try   
        {           
             return  args.InputParameters[ "par1" ];   
        }   
         catch (Exception exp)   
        {               
            args.WriteDebug(exp.Message);   
             return   "Custom script error" ;   
        }   
    }   
}  

设置项目开始URL来匹配输入参数Setting the Project Start URL Equal to the Value of an Input Parameter


可以使用一个简单的项目初始化脚本,将项目启动URL设置为一个输入参数的值。

using  System;   
using  mshtml;   
using  VisualWebRipper;   
public   class  Script   
{   
     //See help for a definition of WrProjectInitializeArguments.   
     public   static   bool  InitializeProject(WrProjectInitializeArguments args)   
    {   
         try   
        {   
             if (args.InputParameters.ContainsParameter( "url" ))   
                args.Project.StartUrl = args.InputParameters[ "url" ];   
  
             return   true ;   
        }   
         catch (Exception exp)   
        {   
            args.WriteDebug(exp.Message);   
             return   false ;   
        }   
    }   
}  

你可能感兴趣的:(使用输入参数)