Likee Scraper
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
│ └── [...]
└──
- Download profiles by @username or User ID.
- Built with archivists in mind: incremental sync.
- JSON metadata is stored alongside the video.
- Batch file, cronjob friendly.
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:
- Crystal language, https://crystal-lang.org/install.
$ 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
(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
- Fork it (<https://github.com/kandayo/likee-scraper/fork>)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- kandayo - creator and maintainer