Likee Scraper

Built with Crystal 0.36.1 GitHub release Unit Tests Integration Tests

Download videos from Likee, in their original quality, without watermark.

The integration tests are scheduled to run twice a day, through Github Actions.

See also: Likee API Wrapper.

Index

Features

$ likeer --user @Likee_US --user @Likee_UK --fast-update

Downloading 2 profiles: @Likee_US @Likee_UK.

Collecting videos from profile @Likee_US.
 + Likee US - 000005.mp4 [========================] 11.1 MB | 100%
 + Likee US - 000004.mp4; exists
✅ Likee US in sync!

Collecting videos from profile @Likee_UK.
 + Likee UK - 000011.mp4 [========================] 22.2 MB | 100%
 + Likee UK - 000010.mp4; exists
✅ Likee UK in sync!

$ ls
.
├── 11111111
│   ├── 2021-01-01 00:14:01 - 000005.mp4
│   ├── 2021-01-01 00:15:01 - 000004.mp4
│   └── [...]
├── 22222222
│   ├── 2021-01-02 00:14:01 - 000011.mp4
│   ├── 2021-01-02 00:15:01 - 000010.mp4
│   └── [...]
└──

Disclaimer

This app is in no way affiliated with, authorized, maintained or endorsed by Likee or any of its affiliates or subsidiaries.

This is purely an educational proof of concept.

Installation

Pre-built - Recommended

Just download the latest release for your platform here.

Then move the binary to your PATH, or just use it right away.

From source

It only takes a few seconds to compile it yourself. It's not rocket science.

Build dependencies:

$ git clone https://github.com/kandayo/likee-scraper
$ cd likee-scraper
$ shards build --release --ignore-crystal-version
$ ./bin/likeer --help

Then move the binary to your PATH, or just use it right away.

Usage

For more examples, please refer to the documentation.

Download profile by @username

Looking up a user by username requires an additional API request. It's strongly recommended to use User IDs instead. Usernames must be prefixed with an @.

$ likeer -u @username1 -u @username2 [...]

Download profile by User ID

If a identifier does not have a prefix, it is assumed to be an User ID.

$ likeer -u 11111111

Batch file

If --batch-file <file.txt> (or -a) is given, Likee will read file.txt expecting @usernames and User IDs to download, one identifier per line. Lines starting with an # or empty lines are considered as comments and ignored.

Usernames must be prefixed with an @, e.g. @username.

IDs must not be prefixed with an @, e.g. 1111111.

$ cat batch.txt
~> # Comment (ignored)
~> @username   # Inline comments are also allowed.
~> 111111111

$ likeer -a batch.txt

Fast update

If --fast-update (or -f) is given, Likeer stops when arriving at the first already downloaded video. This flag is recommended when you use Likeer to update your personal archive.

This concept was inspired by Instaloader.

$ likeer -f -u @username

Downloading 1 profile: @username.

Collecting videos from profile @username.
 + Example Username - 000003.mp4 [========================] 11.1 MB | 100%
 + Example Username - 000002.mp4; exists
✅ Example Username in sync!

Contributing

  1. Fork it (https://github.com/kandayo/likee-scraper/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors