Perlnika
Perlnika

Reputation: 5066

find common words of two webpages on the fly

I have a list of species here:

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

And a list of species here:

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

I would like to find all species that are mentioned on BOTH pages. How can I do this quickly? (I dont mind if words not referring to species are to be found. I want to do comparision of words in general:)

Thanks for suggestions.

Upvotes: 1

Views: 1037

Answers (1)

ninjagecko
ninjagecko

Reputation: 91142

On each page in a console, do:

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);

Then do:

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});

This is necessary to circumvent browser restrictions.

Demo:

> JSON.stringify( page1.filter(function(s){return page2.indexOf(s)!=-1}) )
'["Beta vulgaris","Spinacia oleracea"]'

Upvotes: 1

Related Questions