Mercury Parser - Extracting content from chaos #parser #url #html #extractor
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Adam Pash 17317823de fix: bug that stopped proper attr cleaning in certain cases 8 years ago
dist fix: bug that stopped proper attr cleaning in certain cases 8 years ago
fixtures feat: support lazy loading video on deadspin 8 years ago
scripts feat: generator generates potential selectors for all custom selectable fields 8 years ago
src fix: bug that stopped proper attr cleaning in certain cases 8 years ago
.agignore chore: renamed iris to mercury 8 years ago
.babelrc fix: babel-polyfill mess (I think) 8 years ago
.eslintignore chore: refactored and linted 8 years ago
.eslintrc feat: custom parser + generator + detailed readme instructions 8 years ago
.gitignore feat: custom parser + generator + detailed readme instructions 8 years ago
NOTES.md feat: generator for custom parsers and some documentation 8 years ago
README.md feat: generator for custom parsers and some documentation 8 years ago
package.json feat: some small tweaks to toy's excellent parsers ☺️ 8 years ago
preview feat: custom parser + generator + detailed readme instructions 8 years ago
rollup.config.js fix: using transform-runtime to avoid babel-polyfill conflicts when used 8 years ago
score-move chore: refactored and linted 8 years ago
test-runner feat: generator for custom parsers and some documentation 8 years ago

README.md

Mercury Parser - Extracting content from chaos

The Mercury Parser extracts the bits that humans care about from any URL you give it. That includes article content, titles, authors, published dates, excerpts, lead images, and more.

The Mercury Parser module powers the Mercury Parser API, a free API from Postlight that puts all of this information one API request away..

How? Like this.

import Mercury from 'mercury-parser';

Mercury.parse(url).then(result => console.log(result););

The result looks like this:

{
  "title": "Thunder (mascot)",
  "content": "<div><div><p>This is the content of the page!</div></div>",
  "author": "Wikipedia Contributors",
  "date_published": "2016-09-16T20:56:00.000Z",
  "lead_image_url": null,
  "dek": null,
  "next_page_url": null,
  "url": "https://en.wikipedia.org/wiki/Thunder_(mascot)",
  "domain": "en.wikipedia.org",
  "excerpt": "Thunder Thunder is the stage name for the horse who is the official live animal mascot for the Denver Broncos",
  "word_count": 4677,
  "direction": "ltr",
  "total_pages": 1,
  "rendered_pages": 1
}

If Mercury is unable to find a field, that field will return null.

Contributing

If you'd like to write a custom parser for a site, here's how.