https://github.com/andreazllin/node-meta-parser
Get Open Graph and other metadata from a webpage
https://github.com/andreazllin/node-meta-parser
graph html meta node ogp open opengraph parser scraper tags
Last synced: about 2 months ago
JSON representation
Get Open Graph and other metadata from a webpage
- Host: GitHub
- URL: https://github.com/andreazllin/node-meta-parser
- Owner: andreazllin
- License: mit
- Created: 2022-08-03T16:49:42.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-04T10:37:51.000Z (almost 4 years ago)
- Last Synced: 2025-04-24T19:44:55.036Z (about 1 year ago)
- Topics: graph, html, meta, node, ogp, open, opengraph, parser, scraper, tags
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/node-meta-parser
- Size: 141 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-meta-parser
Get Open Graph and other metadata from a webpage!
## Get started
To install the package:
```bash
npm install --save node-meta-parser
```
## Methods
### `parseMetadata`
Returns the `` tags from an HTML page in the following object format
```json
{
"propertyName": "contentValue"
}
```
```typescript
parseMetadata(rawHtml: string, properties: string[])
```
- **rawHtml**: is the *string* representing the HTML for the requested webpage.
- **properties**: is an *array of strings* that are the property (or name) of a `` tag
```html
```
### `getFavicon`
Returns the URL of the favicon
```typescript
getFavicon(rawHtml: string)
```
- **rawHtml**: is the *string* representing the HTML for the requested webpage.
## Example
To get the `` tags values from a website you need to get a webpage's raw HTML first, you can use an HTTP client of your liking, the example uses [axios](https://www.npmjs.com/package/axios).
```typescript
import axios from "axios"
import nmp from "node-meta-parser"
void(async(): Promise => {
const { data: rawHtml } = await axios.get("https://ogp.me/")
const metadata = nmp.parseMetadata(rawHtml, ["og:title", "og:type", "og:url", "og:image", "og:description"])
console.log(metadata)
})()
```
in this case `metadata` is like this:
```json
{
"og:title": "Open Graph protocol",
"og:type": "website",
"og:url": "https://ogp.me/",
"og:image": "https://ogp.me/logo.png",
"og:description": "The Open Graph protocol enables any web page to become a rich object in a social graph."
}
```
## Dependecies
- [node-html-parser](https://www.npmjs.com/package/node-html-parser) - Fast HTML Parser.
## Notes for myself
### To use the latest build uploaded to GitHub
To add the package to the dependencies:
```json
{
"dependencies": {
"node-meta-parser": "github:andreazllin/node-meta-parser#build"
}
}
```
### To push a new build
Give execute permission to `update.sh` script:
```bash
cd scripts
sudo chmod +x update.sh
```
Execute the script, it will transpile the branch `main` and push the folder `/dist/` to the build branch:
```bash
npm run update
```
### Upload a new version to NPM
To upload a new version of the package:
1. Change version in `package.json`.
2. `npm run install` to update `package-lock.json` version.
3. Commit and push changes to `main` branch.
4. Checkout to `build` branch.
5. `npm run update` to build and push latest version to GitHub.
6. `npm publish` to publish a new version to NPM