欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前嗅ForeSpider脚本教程-链接抽取:链接在POST请求里写脚本

程序员文章站 2022-07-14 08:29:33
...

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

 

当链接地址在源码中不存在,存在于post请求中时,需要使用浏览器的开发者工具来查找链接数据。

1.链接需要循环

场景:一组链接存在于JSON的某个数组中。

示例:采集豆瓣电影,列表页的电影链接。

 

前嗅ForeSpider脚本教程-链接抽取:链接在POST请求里写脚本
            
    
    博客分类: 教程 前嗅数据采集ForeSpider数据采集采集教程脚本教程 

 

查看源文件可知,源文件中只有一部分数据,而下拉列表出现的其他电影信息不存在源码中,此时我们需要在请求的响应正文中查找数据。在该页面右键点击“审查元素”,下拉,点击“加载更多”,出现一个请求包,查看Response,发现链接地址存在于,返回正文中。

 

前嗅ForeSpider脚本教程-链接抽取:链接在POST请求里写脚本
            
    
    博客分类: 教程 前嗅数据采集ForeSpider数据采集采集教程脚本教程 

 

将Response中的信息粘贴到json查看器中,以notepad++插件“JSON Viewer”为例,定位数据存在路径。

 

前嗅ForeSpider脚本教程-链接抽取:链接在POST请求里写脚本
            
    
    博客分类: 教程 前嗅数据采集ForeSpider数据采集采集教程脚本教程 

 

脚本实例:

 

var urs = “https://movie.douban.com/j/search_subjects?type=movie&tag=%E7%83%AD%E9%97%A8&sort=recommend&page_limit=20&page_start=60”;
var groc = EXTRACT.OpenDoc(CHANN,urs,0);
if(groc){ 
    var jsonStr = groc.GetDom().GetSource().ToStr();
    jScript js; 
    var json = js.RunJson(jsonStr); 
    var arr = json.subjects; 
    for(int i=0;i<arr.size;i++){ 
        url u; 
        u.title=””;
        u.urlname=arr[i].url; 
        u.entryid=CHANN.id; 
        u.tmplid=2; 
        RESULT.AddLink(u);     
        } 
    }

    

2.不循环

场景:少数链接是JSON的某个键值。

示例:暂无。