All Projects → ukyoda → ogpParser

ukyoda / ogpParser

Licence: MIT license
Open Graph Protocol Parser for Node.js

Programming Languages

typescript
32286 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ogpParser

html-table-extractor
extract data from html table
Stars: ✭ 74 (+72.09%)
Mutual labels:  scraping
proxycrawl-python
ProxyCrawl Python library for scraping and crawling
Stars: ✭ 51 (+18.6%)
Mutual labels:  scraping
scavenger
Scrape and take screenshots of dynamic and static webpages
Stars: ✭ 14 (-67.44%)
Mutual labels:  scraping
ksoup
Kotlin Wrapper for Jsoup
Stars: ✭ 59 (+37.21%)
Mutual labels:  scraping
htmltab
Command-line utility to convert HTML tables into CSV files
Stars: ✭ 13 (-69.77%)
Mutual labels:  scraping
InstaBot
Simple and friendly Bot for Instagram, using Selenium and Scrapy with Python.
Stars: ✭ 32 (-25.58%)
Mutual labels:  scraping
yttrex
youtube & tiktok analysis + youchoose recommendation custmizer. backend, extensions, and tooling
Stars: ✭ 31 (-27.91%)
Mutual labels:  scraping
angel.co-companies-list-scraping
No description or website provided.
Stars: ✭ 54 (+25.58%)
Mutual labels:  scraping
Instagram-to-discord
Monitor instagram user account and automatically post new images to discord channel via a webhook. Working 2022!
Stars: ✭ 113 (+162.79%)
Mutual labels:  scraping
Scrapping
Mastering the art of scrapping 🎓
Stars: ✭ 24 (-44.19%)
Mutual labels:  scraping
zcrawl
An open source web crawling platform
Stars: ✭ 21 (-51.16%)
Mutual labels:  scraping
ha-multiscrape
Home Assistant custom component for scraping (html, xml or json) multiple values (from a single HTTP request) with a separate sensor/attribute for each value. Support for (login) form-submit functionality.
Stars: ✭ 103 (+139.53%)
Mutual labels:  scraping
copycat
A PHP Scraping Class
Stars: ✭ 70 (+62.79%)
Mutual labels:  scraping
scrapman
Retrieve real (with Javascript executed) HTML code from an URL, ultra fast and supports multiple parallel loading of webs
Stars: ✭ 21 (-51.16%)
Mutual labels:  scraping
browser-pool
A Node.js library to easily manage and rotate a pool of web browsers, using any of the popular browser automation libraries like Puppeteer, Playwright, or SecretAgent.
Stars: ✭ 71 (+65.12%)
Mutual labels:  scraping
puppeteer-botcheck
🕵‍♂ Bot detection tests for Puppeteer. Hide and seek!
Stars: ✭ 42 (-2.33%)
Mutual labels:  scraping
scrap
Scrapping Facebook with JavaScript.
Stars: ✭ 25 (-41.86%)
Mutual labels:  scraping
sg-food-ml
This script is used to scrap images from the Internet to classify 5 common noodle "mee" dishes in Singapore. Wanton Mee, Bak Chor Mee, Lor Mee, Prawn Mee and Mee Siam.
Stars: ✭ 18 (-58.14%)
Mutual labels:  scraping
torchestrator
Spin up Tor containers and then proxy HTTP requests via these Tor instances
Stars: ✭ 32 (-25.58%)
Mutual labels:  scraping
anime-scraper
[partially working] Scrape and add anime episode stream URLs to uGet (Linux) or IDM (Windows) ~ Python3
Stars: ✭ 21 (-51.16%)
Mutual labels:  scraping

Open Graph Protocol Parser

npm

このモジュールは,URLからOGPタグ情報、SEO関連のタグ情報などを抽出する為のライブラリです。

[IMPORTANT]
v0.5.0からaxios対応、oEmbed追加対応を行なった影響で、API仕様を変更しました。 v0.4.x以前の互換関数の使用方法についてはこちらを参照してください

更新履歴

  • 2021年 8月: v0.6.0リリース (TypeScript化)
  • 2021年 4月: v0.5.6リリース (セキュリティアップデート)
  • 2021年 2月: v0.5.5リリース axiosのバージョン更新
  • 2020年 8月: v0.5.4リリース HTMLの文字コード対応が抜けていたので修正
  • 2020年 7月: v0.5.3リリース npm installできない問題を修正
  • 2020年 7月: v0.5.2リリース セキュリティアップデート(プルリク#27対応)
  • 2020年 4月: v0.5.1リリース v0.5.0がnpm publishできなかったので・・・
  • 2020年 4月: v0.5.0リリース (oEmbed対応、HTTPリクエストをaxiosに変更、API仕様修正)
  • 2020年 3月: v0.4.7リリース (npmの検索キーワードを追加のため)
  • 2020年 3月: v0.4.6リリース (セキュリティアップデート)
  • 2020年 2月: v0.4.5リリース (バグFix @RyosukeClaさんありがとうございます!!)
  • 2019年 8月: v0.4.4リリース(パッケージのアップデート)
  • 2018年 1月: v0.4.1リリース (リファクタリング、ES2015対応、他)
  • 2016年 8月: v0.4.0リリース (リファクタリング、Promise対応、他、多くを修正)
  • 2016年 7月: v0.3.1リリース (UTF-8以外の文字コードに対応)
  • 2015年 5月: v0.3.0リリース
  • 2015年 4月: リダイレクトに対応しました。第3引数をtrueにすると、リダイレクトを追跡してページを取得します
  • 2015年 3月: https対応
  • 2015年 3月: ページタイトル情報を追加
  • 2014年 6月: データフォーマットを修正
  • 2014年 6月: seoタグ(name, contentのメタタグ)を追加

依存ライブラリ

package.jsonを参照してください

インストール

$ npm install ogp-parser

テスト

$ npm test

or

$ npm run test-cov

使い方

var ogp = require('ogp-parser');

サンプル (oEmbedあり)

v0.5より、oEmbedの情報を取得できるようにしました。 oEmbed情報は、�linkタグのtypeが下記のいずれかの時に、hrefのURLにアクセスしてoEmbedデータを取得します。

  • application/json+oembed
  • text/xml+oembed
var ogp = require("../ogpParser");
console.log("URL:"+url);
ogp(url).then(function(data) {
	console.log(JSON.stringify(data, null, "    "));
}).catch(function(error) {
    console.error(error);
});

出力結果

{
    "title": "うきょう(@ukyoda)さん | Twitter",
    "ogp": {
        "al:ios:url": [
            "twitter://user?screen_name=ukyoda"
        ],
        "al:ios:app_store_id": [
            "333903271"
        ],
        "al:ios:app_name": [
            "Twitter"
        ],
        "al:android:url": [
            "twitter://user?screen_name=ukyoda"
        ],
        "al:android:package": [
            "com.twitter.android"
        ],
        "al:android:app_name": [
            "Twitter"
        ]
    },
    "seo": {
        "robots": [
            "NOODP"
        ],
        "description": [
            "うきょう (@ukyoda)さんの最新ツイート 独立系SIer。ビッグデータや機械学習を使ったシステム開発によく携わっています。 最近はPythonが多いですが、JavascriptとかPHPとかJavaとかC/C++での開発もやってます。 https://t.co/y8iW4rQ7lD ザクソン村"
        ],
        "msapplication-TileImage": [
            "//abs.twimg.com/favicons/win8-tile-144.png"
        ],
        "msapplication-TileColor": [
            "#00aced"
        ],
        "swift-page-name": [
            "profile"
        ],
        "swift-page-section": [
            "profile"
        ]
    },
    "oembed": {
        "url": "https://twitter.com/ukyoda",
        "title": "",
        "html": "<a class=\"twitter-timeline\" href=\"https://twitter.com/ukyoda?ref_src=twsrc%5Etfw\">Tweets by ukyoda</a>\n<script async src=\"https://platform.twitter.com/widgets.js\" charset=\"utf-8\"></script>\n",
        "width": null,
        "height": null,
        "type": "rich",
        "cache_age": "3153600000",
        "provider_name": "Twitter",
        "provider_url": "https://twitter.com",
        "version": "1.0"
    }
}

oEmbedを取得しない

oEmbedは、通常のHTML取得とは別にoEmbedのリクエストが発生するため、 レスポンス速度が低下することがあります。oEmbedの情報が不要の方は下記の通りoEmbedのリクエストをOFFにすることでレスポンス速度を改善できます。

var parser = require("ogp-parser");
var url = "https://twitter.com/ukyoda";
parser(url, { skipOembed: true }).then(function(data) {
	console.log(JSON.stringify(data, null, "    "));
}).catch(function(error) {
    console.error(error);
});

出力結果

{
    "title": "うきょう(@ukyoda)さん | Twitter",
    "ogp": {
        "al:ios:url": [
            "twitter://user?screen_name=ukyoda"
        ],
        "al:ios:app_store_id": [
            "333903271"
        ],
        "al:ios:app_name": [
            "Twitter"
        ],
        "al:android:url": [
            "twitter://user?screen_name=ukyoda"
        ],
        "al:android:package": [
            "com.twitter.android"
        ],
        "al:android:app_name": [
            "Twitter"
        ]
    },
    "seo": {
        "robots": [
            "NOODP"
        ],
        "description": [
            "うきょう (@ukyoda)さんの最新ツイート 独立系SIer。ビッグデータや機械学習を使ったシステム開発によく携わっています。 最近はPythonが多いですが、JavascriptとかPHPとかJavaとかC/C++での開発もやってます。 https://t.co/y8iW4rQ7lD ザクソン村"
        ],
        "msapplication-TileImage": [
            "//abs.twimg.com/favicons/win8-tile-144.png"
        ],
        "msapplication-TileColor": [
            "#00aced"
        ],
        "swift-page-name": [
            "profile"
        ],
        "swift-page-section": [
            "profile"
        ]
    }
}

免責事項など

  • 本ライブラリはMITライセンスに設定しました
  • 本ライブラリは商用での利用に特に制限を設けません
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].