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

22次阅读

共计 769 个字符,预计需要花费 2 分钟才能阅读完成。

今天,小编给大家带来的教程为:前嗅 ForeSpider 脚本教程 - 链接抽取中,链接在 POST 请求里写脚本的实战教程。具体内容如下:当链接地址在源码中不存在,存在于 post 请求中时,需要使用浏览器的开发者工具来查找链接数据。1. 链接需要循环场景:一组链接存在于 JSON 的某个数组中。示例:采集豆瓣电影,列表页的电影链接。

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

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

脚本实例:
var urs =“https://movie.douban.com/j/search_subjects?type=movie&t
ag=%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 的某个键值。示例:暂无。

正文完
 0