Documentation
¶
Overview ¶
xig
To fetch **instagram** user img, content, avatar data.
Install ¶
install from github
go get -v -a -u github.com/toomore/xig
Usage ¶
usage list
xig [options] {username}
Options:
-a Get all data
-c int
concurrency nums (default cpuNums*20)
-d int
Delay to start, in seconds
-f Find deleted
-i Quick look recently data
-t Show httptrace info
-u Login someone to see private data
To fetch recently img(12), avatar and content
xig {username}
To fetch **ALL** images data (if user uploaded more, may slow)
xig -a {username}
Print recently data
xig -i {username}
Output format:
+----------------------------------------------------+
Code: https://www.instagram.com/p/{code}
Date: {date} IsVideo: {true|false}
Caption: {caption}
DisplaySrc: {url}
To find some deleted content
xig -f {username}
Some users turn to private account, using `-u` to login user account for fetch private data. (required setting environment variables in `IGUSER`, `IGPASS`, and cookies file will save as `cookies.gob`)
xig -u {username}
Fetch Folder ¶
by user
./{username}
├── profile
│ └── {username}_{hash}.txt // user profile, biography
├── avatar
│ ├── {username}_{hash}.jpg // user avatar image
│ └── (...).jpg // and more ... if put `xig` into cron jobs
├── content
│ ├── {date}_{code}_{id}.json // json files, for some day `xig` reuse
│ └── {date}_{code}_{id}.txt // for human readable content
└── img
├── {code}_{hash}.jpg // user uploaded images
└── (...).jpg // and more ...
Note ¶
* All images will try to fetch original size.
* Private user need setting `IGUSER`, `IGPASS` and using `-u`. Cookies file will save as `cookies.gob`
* Content's readable date is in `RFC3339` format.
* instagram won't to ban ip, may CDN doesn't check.
* `xig`'s code base are not pretty, I will make it pretty :)
Tips ¶
For crontab, every 1m to fetch
*/1 * * * * cd ~/{some folder}; ({$go_bin_path}/xig {username} 2>&1) >> ./{username}.log
For crontab, using `-d` for delay fetch.
*/1 * * * * cd ~/{some folder}; ({$go_bin_path}/xig -d 30 {username} 2>&1) >> ./{username}.log