前嗅ForeSpider脚本教程:频道脚本使用场景及配置关键词搜索

允我心安 提交于 2019-11-30 04:08:04

今天,小编给大家带来的教程为:前嗅ForeSpider脚本教程中频道脚本的应用场景以及脚本配置关键词搜索的实战教程。具体内容如下:

一.频道脚本使用场景

当需要手动创建采集源列表,或者完全使用脚本采集数据时,在“频道脚本”处,你可能用到的类为extractor 、result。

你可以定义类的对象来使用其成员方法,也可以使用EXTRACT、RESULT两个全局对象。

关于这两个类的详细说明以及该场景的更多示例,可以点击“教程->脚本教程->脚本示例->频道脚本”来查看相关内容。

二.脚本配置关键词搜索

1.关键词不含验证码

场景:当一类链接中只需要替换一部分字符串,即可得到目标链接。则可以将这部分字符串作为关键词,添加频道脚本,达到链接抽取的目的。 示例:暂无。

2.关键词含验证码

场景:当通过可视化方式不能获取验证码刷新事件时,需要手动寻找验证码刷新请求并填写至相应输入框,与此同时,添加验证码参数至参数列表。 示例:采集京东店铺工商信息。

使用开发者工具(以搜狗浏览器为例,在浏览器中按F12打开)抓包,在目标网页右键点击“审查元素”,选择“NetWork”,先清空所有缓存信息,点击验证码图片,查找验证码刷新请求:

https://mall.jd.com/sys/vc/createVerifyCode.html?random=0.10473700880101844 ”。

可以发现每次刷新验证码,请求链接中random参数的值都不同,则需要查找random生成的js事件。在网页源码中找到以下代码。

填写js刷新事件于文本框内,值得注意的是,只需修改this.src的值即可。 脚本实例:

var key = EXTRACT.GetSearch(this);

var form = key.Search();

url u;

var postData;

while(form){

var ocrCode = form.verifyCode;

u.urlname = "https://mall.jd.com/"+"showLicence-"+form.text+".html";

u.title = ocrCode;

u.entryid = this.id;

u.tmplid = 1;

postData = "verifyCode="+ocrCode;

var d = EXTRACT.OpenDoc(this,u.urlname,postData,0);

if(d){

this.Run(d,1);

EXTRACT.CloseDoc(d);

}

form = key.Search();

}

key.End();

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!