前嗅ForeSpider脚本教程-链接抽取:链接在源码的js变量里写脚本

122 篇文章 0 订阅
122 篇文章 2 订阅

今天,小编给大家带来的教程为:前嗅ForeSpider脚本教程-链接抽取中,链接在源码的js变量里写脚本的实战教程。具体内容如下:

 

链接地址可在源码中查找到。在目标网页右键,选择“查看源代码”,键盘点击“ctrl+F”,查找目标链接所在位置。目标链接存在于js变量中。

1.链接需要循环

场景:要抽取的一组链接都在源码中出现,集中分布。

示例:获取今日头条热点新闻列表页链接

查看列表页第一条链接,链接地址为“https://www.toutiao.com/group/6637244114360336900/”,在该网页,鼠标右键,选择查看源代码,“ctrl+F”,查找字符串“6637244114360336900”,定位其位置。

观察可知,中文字符都以”\u”开头的字符串表示,显示为unicode编码格式,由“站长工具”在线转编码之后即可展示中文。此外链接地址分割符“/”加了转义符“\”,不过软件已经帮助我们做了转义处理,此处无需担心,直接赋值即可。

将转义后的字符串放置于JSON查看器中(以notepad++的插件“JSON Viewer”为例),则可观察到数据形式为json。

脚本实例:

var str=DOM.GetSource().ToStr(); //获取本链接地址网页源码

var jsonStr=DOM.UnEscape(str.Middle("data = ","]};")+"]}");  //截取数据所在字符串\

jScript js;//定义JS变量

var obj=js.RunJson(jsonStr);//解析JSON串,并返回JSON对象

var ar=obj.real_time_news;//获取目标数据所在数组

for(int i=0;i<ar.size;i++)

{//通过循环添加链接

url u;
u.title=ar[i].title;
u.urlname="https://www.toutiao.com"+ar[i].open_url;
u.entryid=CHANN.id;
u.tmplid=2;
RESULT.AddLink(u);
}

2.链接不循环

场景:要抽取少数链接,位置分散,如天猫分类页(三级分类)。

实例:暂无。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值