自定义脚本JSON数据采集
适用于json数据接口获取内容
1.数据入口配置
经过我们的分析得到。这个网站的数据是使用json加载的。数据链接如下:
page 表示的就是加载的第几页。经过分析数据加载到第8页再往后就没有了:
所以数据入口配置如下
2.数据链接
由于我们所需要的数据在json格式里面已经包含,不需要进行再次解析URL。 根据列表页采集URL然后从URL再采集数据字段的形式不适合这种。所以我们需要用到单页采集的原理。
我们可以分析出来每条数据都有一个特别的vid作为识别字段。然后可以给原来的URL加上这个后缀。然后每次采集还是用的入口的URL但是每次的数据都会带上这个vid作为标识。标识我们每次要采集那一条数据。
然后就可以配置数据连接如下,在数据链接URL识别规则填写:
"vid":"[url]","video_title"
这里我们只是获取了每个数据的vid标识而已。
我们获取的每一个vid并不是一个url,要想获取字段的话,引擎是只识别url才会继续采集啊,所以我们要想办法给采集引擎一个完整的URL用于下一步采集字段使用。上面我们已经采集到了每条数据的标识。
在数据链接URL补充前缀填写:
[entryurl] 表示的是入口的URL,然后#是一个拼接符号,这样生成的链接会在#后面加上每条数据的vid
这样就获取了一个完整的URL.然后我们就可以进行下一步字段采集了。
3.核心字段
还记得我们在数据连接后面用#后面拼接起来的vid么。这时候可以用[poundstr]来接受#后面的内容。
那么数据标题识别规则填写为:
"vid":"[poundstr]","video_title":[subject],
[subject]这个表示我们要采集的标题。[poundstr]是#后面的内容。这里是每条数据的vid**。
数据标题我们获得到了但是数据很明显不是我们想要的样子。我们可以看出来这很明显是json_encode之后的数据。那么我们需要将这个数据json_decode来获得我们想要的样子。
数据标题自定义脚本处理:
<?php
function CUSTOMFUN($inputstr){
// TODO: Coding Here
$outputstr = json_decode($inputstr); //在这里进行json_decode处理
return $outputstr;
}
echo CUSTOMFUN($PARASTR); // Not Allowed to Modify
?>
数据标题有了,内容也是必填的,那么。
数据内容识别规则填写如下:
"vid":"[poundstr]",*"video_url":[message],"video_channel":"lol",
数据内容自定义脚本处理:
<?php
function CUSTOMFUN($inputstr){
// TODO: Coding Here
$outputstr = json_decode($inputstr);
return $outputstr;
}
echo CUSTOMFUN($PARASTR); // Not Allowed to Modify
?>
调试下,内容也有了。
然后 点击提交发布。
好了 点击执行试试吧。
__END__