如何从URL中删除URL并获取未知变量?

时间:2016-01-31 21:53:17

标签: javascript function xml-parsing web-scraping

我有几个网址如下:

http://domain.com/data/id/0000/random_title/

domain.com/data/id/< ---是一个常数,永远不会改变

/0000/< ---我想得到这个值(总是4个数字)

/title/< - 每个网址都有所不同

我需要的是一个从行中获取url的函数...分析它(strip?)并使用这4个数字创建一个新属性..

我正在使用Kimono来提取数据....和服允许使用函数来修改结果,我发现了一些例子,但没有文档:

function getpost_number(data) {
var post_number = 0;
for(var url in data.results) {
   data.results[url].forEach(function(row) {
    var parts = url.split("/");
    console.log(parts[5], parts[6]);
   });
  };
  data.post_number = post_number;
  return data;
}

2 个答案:

答案 0 :(得分:0)

所以要么使用split

var str = "http://domain.com/data/id/0000/random_title/",
    parts = str.split("/");
console.log(parts[5], parts[6]);

或正则表达式

var str = "http://domain.com/data/id/0000/random_title/",
    match = str.match(/http:\/\/domain.com\/data\/id\/(\d{4})\/([^\/]+)\//);
console.log(match[1], match[2]);

答案 1 :(得分:0)

我们走了

    function getpost_number(data) { 
        var post_number = 0; 
        for(var url in data.results) { 
            data.results[url].forEach(function(row) { 
                // Here you need use "row" not "url"
                var parts = row.split("/"); 
                console.log(parts[5]+parts[6]); 
            }); 
        }; 
        data.post_number = post_number; 
        return data; 
    }