Golddata怎么采集需要登入/会话的数据?

优采云 发布时间: 2020-08-14 14:05

  编写登陆和检测会话脚本

  点击“采集管理》网站管理”,点击“添加”按扭,添加名为mydict的站点。如下所示:

  

  接下来配制登陆和检测会话脚本,点击“设置*敏*感*词*登陆”,会打开站点*敏*感*词*登陆配制页面,如下图所示:

  

  登录脚本如下:

  //发送ajax请求验证码

var va=$ajax('http://localhost:8080/code/vcode?timestamp=1554001708730',{encoding:false});

var arg_={

label:site.name+"验证码",

type:1,

content:va.content

}

//waitForInput内置函数将发送邮件,并等待输入

//(回复邮件,或者goldData平台输入),

//并把输入内容当作验证码返回。

var code=waitForInput(arg_);

var data="username=admin&password=admin&vcode="+code

var m=new Map()

m.put('Cookie',va.cookie)

//发送ajax请求执行登录

var content=$ajax('http://localhost:8080/doLogin',{method:'POST',headers:m,data:data})

//如果正确,将返回状态1(登录成功),和headers信息给GoldData,

//否则返回0(登录失败)!

if(content.headers){

m.putAll(content.headers)

}

var ret={status:1,headers:m}

if(content.status!=200){

ret.status=0

}

ret

  检查脚本如下:

  var ret=true;

if(html.contains("我的单词-登录")){

ret=false

}

ret;

  配制好以后,我们回到网站管理页面,点击“启动登陆”,则会开始执行“自动登入”,这以后,点击“查询”按扭来刷新页面,可以见到“等待输入”的状态。如下图所示:

  

  此时,您设置的通知邮箱,也应当同时收到了电邮。点开电邮,或者点击页面上的“录入等待输入”按扭,将会听到如下内容:

  

  

  依据电邮内容,回复电邮“{{qcxe}}”,就可以使程序继续执行。在golddata页面里输入"qcxe",效果是一样的。程序将会回到“waitForInput()”,并且返回输入的内容。

  回复以后,我们将在golddata页面里,点击“查询”刷新页面,mydict的登陆状态会变为“已登陆”。如下图所示:

  

  接下来,我们可以定义抓取规则。

  定义抓取规则

  在添加规则之前,我们还须要定义类似于表结构的数据集。如下图所示:

  

  接下来,点击“采集管理》规则管理”,添加规则,打开添加规则页面,如下图所示:

  

  抓取规则脚本如下:

  [

{

__sample: http://localhost:8080/word/index?pageNum=2

match0: http\:\/\/localhost\:8080\/word\/index(\?pageNum=\d+)?

fields0:

{

__model: true

__dataset: word

__node: "#content ul >li"

sn:

{

expr: ""

attr: ""

js: md5(item.name)

__label: ""

__showOnList: false

__type: ""

down: "0"

accessPathJs: ""

uploadConf: s1

}

name:

{

expr: h5

attr: ""

js: ""

__label: ""

__showOnList: true

__type: ""

down: "0"

accessPathJs: ""

uploadConf: s1

}

uk:

{

expr: li span.uk

attr: ""

js: source.replace("uk: ",'')

__label: ""

__showOnList: false

__type: ""

down: "0"

accessPathJs: ""

uploadConf: s1

}

us:

{

expr: li span.us

attr: ""

js: source.replace("us: ",'')

__label: ""

__showOnList: false

__type: ""

down: "0"

accessPathJs: ""

uploadConf: s1

}

}

fields1:

{

__node: .pagination a

href:

{

expr: a

attr: abs:href

js: ""

__label: ""

__showOnList: false

__type: ""

down: "0"

accessPathJs: ""

uploadConf: s1

}

}

}

]

  然后点击测试,将会进行测试抓取。我们发觉数据的确被抓取到了,如下图所示:

  

  配制抓取器抓取

  这和之前是一样的,将抓取器设置抓取站点“mydict”.然后点击开始抓取。然后会在数据管理上面查看抓取的数据。

  结论

  GoldData*敏*感*词*登陆实质是提供了一个可以人工介入来异步获取会话的框架,既可以调用AI插口做到完全手动登入;也可以将类似于验证码须要复杂辨识须要提供输入时,直接将cookie或则token信息通过短信收发到GoldData平台(这样可以不管CAPTCHA多复杂 ),都可以使GoldData抓取数据的动作持续进行下去。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线