1

我这里有一个物种清单:

http://megasun.bch.umontreal.ca/ogmp/projects/other/compare.html

以及这里的物种清单:

http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id=3524

我想找到两页上提到的所有物种。我怎样才能快速做到这一点?(我不介意是否找到不涉及物种的词。我想做一般的词比较:)

感谢您的建议。

4

1 回答 1

1

在控制台的每个页面上,执行:

var html = document.body.innerHTML;
results = [];
html.match(/>([^<]+?)</g)               // grab all values like ">...<"
    .map(function(match) {              // look for a long words..words..words
        return match.match(/\w.*\w/);
    })
    .filter(function(match) {           // ignore empty matches
        return match!==null
    })
    .forEach(function(match) {
        var text = match[0];
        if (!text.match(/[0-9]/) &&     // ignore matches with numbers
            results.indexOf(text)==-1)  // add to results if not duplicate
            results.push(text);
    });
JSON.stringify(results);

然后做:

var page1 = JSON.parse(' /*COPY-PASTE THE RESULT OF PAGE 1*/ ');
var page2 = JSON.parse(' /*COPY-PASTE THE RESULT OF PAGE 2*/ ');
page1.map(function(s){return page2.indexOf(s)!=-1});

这是规避浏览器限制所必需的。

演示:

> JSON.stringify( page1.filter(function(s){return page2.indexOf(s)!=-1}) )
'["Beta vulgaris","Spinacia oleracea"]'
于 2012-05-22T15:45:44.860 回答