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

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

自定义脚本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讨 论
已讨论 4月 13日 作者: mmzszoown
herbal viagra https://zvigariageneric.com/ - cheap viagra women viagra <a href="https://zvigariageneric.com/#">international viagra online</a> cheap viagra
已讨论 5月 6日 作者: Eyejex
<a href="http://vardenafil20.com/">buy vardenafil cheap</a> <a href="http://lisinopril40.com/">lisinopril 40 mg tablets</a> <a href="http://tadaciponline.com/">buy tadacip online</a> <a href="http://advair250.com/">advair</a> <a href="http://lipitor20.com/">buy lipitor cheap</a> <a href="http://amoxicillin5.com/">buy amoxicillin 500mg</a> <a href="http://acyclovir400.com/">buy acyclovir 400 mg</a> <a href="http://clomidforwomen.com/">buy clomid online without prescription</a> <a href="http://lasix0.com/">lasix buy</a> <a href="http://sildenafil360.com/">sildenafil coupon</a> <a href="http://prednisone5.com/">prednisone deltasone</a> <a href="http://propecia8.com/">finasteride medication</a> <a href="http://20tadalafil.com/">buy cheap tadalafil</a> <a href="http://metformin1000.com/">metformin buy</a> <a href="http://albuterol100.com/">proair albuterol inhaler</a> <a href="http://albuteroli.com/">generic for albuterol</a> <a href="http://doxycycline200.com/">doxycycline</a> <a href="http://doxycycline1.com/">vibramycin 100 mg</a> <a href="http://prednisolonetablets.com/">prednisolone buy online</a> <a href="http://femaleviagra50.com/">female viagra buy</a>
已讨论 5月 9日 作者: Lisajex
已讨论 5月 9日 作者: Denjex

Finndy Copyright©2017 | Powered by Q2A

...