kayuri / ReadabilityKit

Preview extractor for news, articles and full-texts in Swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ReadabilityKit

CI Status Version Carthage Compatible License Platform

ReadabilityKit helps you to extract a relevant preview (title, description, image and video) from the URL.

The goal is to try and get the best extraction from the article for servicing applications that need to show a preview of a web URL along with an image. Comparison with other extraction libraries available here. Comparison with another iOS extraction library (SwiftLinkPreview) available here.

Inspired by snacktory and newspaper.

Demo

Features

Extracts:

  • Title
  • Description
  • Top image
  • Top video
  • Keywords

Requirements

  • iOS 8.0+ / Mac OS X 10.9+ / tvOS 9.0+ / watchOS 2.0+

Usage

let parser = Readability(url: articleUrl)

let title = parser.title()
let description = parser.description()
let keywords = parser.keywords()
let imageUrl = parser.topImage()
let videoUrl = parser.topVideo()

To run the example project, clone the repo, and run pod install from the Example directory first.

Comparison with other libraries

ReadabilityKit SwiftLinkPreview python-goose snacktory newspaper
github
washingtonpost
youtube ☑️ ☑️
vimeo ☑️
instagram ☑️
nytimes ☑️
twitter ☑️ ☑️
medium
facebook ☑️ ☑️ ☑️
imgur
flickr
500px
dribbble ☑️
lenta ☑️
habrahabr ☑️
bbc

✅ – correct ☑️ – partially correct ❌ – incorrect

ReadabilityKit vs SwiftLinkPreview

  • ReadabilityKit uses part of ar90 algorithm which was transformed into the Redability.com product. This allows for more accurate extraction.
  • Video support. ReadabilityKit detects videos on the page and extracts the most relevant to Readability.topVideo.
  • Typed API that allows you to use statically typed properties without force casting.
  • Better threading model. You can use ReadabilityKit with both sync or async calls.
  • Keyword extraction.

Installation

CocoaPods

ReadabilityKit is available through CocoaPods. To install it, simply add the following line to your Podfile:

platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
    pod 'ReadabilityKit'
end

To integrate ReadabilityKit into your Xcode project using Carthage, specify it in your Cartfile:

github "exyte/ReadabilityKit" ~> 0.4.6

Manually

  1. Install Ji XML parser
  2. Download and drop ReadabilityKit.swift in your project
  3. Congratulations!

Author

exyte, info@exyte.com

License

ReadabilityKit is available under the MIT license. See the LICENSE file for more info.

About

Preview extractor for news, articles and full-texts in Swift

License:MIT License


Languages

Language:Swift 95.1%Language:Objective-C 3.1%Language:Ruby 1.8%