Prerequisites
Just a web space where to execute a Node.js script.. or PHP script; alternatively you can run the script on your computer.
If you want to run the script automatically you need Crontab installed where you execute the code or a free account to crontaboo.com.
Simple way to do it
1 - Go to https://github.com/orsifrancesco/sniffagrammers
Download the repo. From this moment you decide which language you want to use (Node.js or PHP), the scripts are pretty similar.
2 - Open node/sniffagrammer.js
or php/sniffagrammer.php
Edit the code according to your needs:
// type can be 'tag' or 'user'
const type = 'user'
// if type is 'tag', the script will search for #orsifrancesco
// if type is 'user', the script will search for @orsifrancesco
const value = 'orsifrancesco'
// only for sniffagrammer.js
// you can change the port of the server
const port = 8080
3 - Upload the script on your web space.
- If you use Node.js just run
node sniffagrammer.js
(and open the browser). - If you use PHP you can just upload
sniffagrammer.php
to your web space.
4 - Open the browser
You should be able to see the output on http://yourWebSpace:8080
(or the port you set, or http://localhost:8080
if you are running the Node.js script on your computer) or http://yourWebSpace/sniffagrammer.php
(or http://localhost
if you are running the PHP script on the htdocs/
folder of your computer).
Every time you open the URL, the script will call Sniffagram endpoint checking for new images and saving them on images/
folder.
5 - Check the result
- On
images/{type}/
(where type can betag
oruser
) you will see all the downloaded images. - Every time you download a new image, you will find the hash (wikipedia) of the image path on
temp/{type}/
. These files are 0 bytes, they are necessary to prevent downloading the same images (if you delete these files the images will be downloaded again).
6 - Download images automatically every hour
To call the URL automatically, you need to run a crontab (wikipedia) script. If you don't have crontab installed on your machine you can register at crontaboo.com (the free account gives you the possibility to call URLs every hour).
Advanced way to do it
Sniffagram is an independent project that gives you 30 calls a day (enough for a call every hour). It caches the output for 5 minutes.
Due to the high number of requests, sometimes the token used for the project expires prematurely making the service unavailable (usually the expired token is replaced after a few minutes).
For unlimited requests (no cache, every minute) you need to follow the tutorial from the official repo Instagram without API for Node.js or PHP.
Resource Links
- Sniffagram
- GitHub Sniffagrammers scripts for Node.js and PHP
- Crontaboo, simple way to call URLs without crontab
- Instagram without API Node.js
- Instagram without API npm
- Instagram without API PHP
- Instagram without API tutorial
- Any feedback to @orsifrancesco and coffees are welcome :)
Top comments (1)
Due to the high number of requests, sometimes the token used for the project expires prematurely making the service unavailable (usually the expired token is replaced after a few minutes).
Last night thousands of requests made expire the token in few minutes instead of weeks..