文字实例——自定义脚本JSON数据采集

6 讨 论 101110 浏览量 云采集引擎

自定义脚本JSON数据采集
适用于json数据接口获取内容

比如:http://v.duowan.com/ 我们想采集这个网站上的视频标题和视频链接。

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]#

[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__

6讨 论
已讨论 10月 28日 作者: Evajex
已讨论 10月 29日 作者: krllduixep
cialis for sale <a href="http://generzoloft.com/">buy zoloft</a> cialis vs viagra
已讨论 10月 30日 作者: Kimjex
<a href="https://levitraca.com/">buy levitra</a>
已讨论 11月 2日 作者: Buy Cheap Essay
已讨论 11月 2日 作者: Kimjex
<a href="https://cialis2uk.com/">real cialis</a>

Finndy Copyright©2017 | Powered by Q2A

...