今天,小编给你们带来的教程为:前嗅ForeSpider脚本教程-连接抽取中,连接在源码的js变量里写脚本的实战教程。具体内容以下:
连接地址可在源码中查找到。在目标网页右键,选择“查看源代码”,键盘点击“ctrl+F”,查找目标连接所在位置。目标连接存在于js变量中。
1.连接须要循环
场景:要抽取的一组连接都在源码中出现,集中分布。
示例:获取今日头条热点新闻列表页连接json
查看列表页第一条连接,连接地址为“https://www.toutiao.com/group/
6637244114360336900/”,在该网页,鼠标右键,选择查看源代码,“Ctrl+F”
查找字符串“6637244114360336900”,定位其位置。数组
观察可知,中文字符都以”u”开头的字符串表示,显示为unicode编码格式,由“站长工具”在线转编码以后便可展现中文。此外连接地址分割符“/”加了转义符“”,不过软件已经帮助咱们作了转义处理,此处无需担忧,直接赋值便可。ide
将转义后的字符串放置于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.连接不循环
场景:要抽取少数连接,位置分散,如天猫分类页(三级分类)。
实例:暂无。url