Skip to main content

Get view counts, favorites, and other data for each picture in a user's photostream

Project description

flickr-views-counter
====================

Python script to count the total number of views across all of a user's photos. Flickr's API doesn't give a total photo count anymore, so this script makes use of [this very helpful library](http://stuvel.eu/flickrapi) to add up the counts for each photo and output the total number of views for a user.

##Steps to setup script
1. Get a [**Non-commercial** Flickr API key](https://www.flickr.com/services/apps/create/noncommercial/?).
- Fill out the form
- Keep the page with your new *key* and *secret* open, you'll need them in a moment
1. Install [Python](https://www.python.org/downloads/), if you don't have it
1. Use pip to install the **flickr-views-counter** package

```bash
pip install flickr-views-counter
```

##Running the script
Run the script with your **user id**. For example, my user id is `26119226@N04`, which is the last part of the url for my photostream [https://www.flickr.com/photos/26119226@N04/](https://www.flickr.com/photos/26119226@N04/).

So, I would run (replacing the Xs with my API key and the Ys with my API secret):
```bash
flickr-views-counter 26119226@N04 --key XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --secret YYYYYYYYYYYYYYYYYYYYYYY
```
###Storing API key and secret
If you don't want to use your key and secret every time you run the script, you can store them in environment variables. Make sure you use **FLICKR_API_KEY** to store the key and **FLICKR_API_SECRET** to store the secret. [This guide](http://www.schrodinger.com/kb/1842) may be helpful for setting environment variables.


###Saving detailed data

If you want to save the data for your photos in csv format, then add an output file name. For example:
```bash
flickr-views-counter 26119226@N04 --output photo-views.csv
```
###Get daily stats
If you're familiar with crontab, you can set the script up to save your daily photo statistics. Here is an example that would run at noon every day, write the csv output to a folder with the date stamp, and log the total counts. The actual implementation would vary slightly based on your paths, and, of course, your user id.

```bash
00 12 * * * flickr-views-counter 26119226@N04 --output ~/Desktop/flickr-counts/count-views-$(date +%F).csv >> ~/Desktop/flickr-counts/flickr-counts-log.txt
```

### Options

#### -h, --help
Prints help message.

#### --output
Name of the output csv file to save photo data. Like, `photo-views.csv`

#### --key
Your [Flickr API](https://www.flickr.com/services/apps/create/noncommercial/?) key

#### --secret
Your [Flickr API](https://www.flickr.com/services/apps/create/noncommercial/?) secret

## FAQ
**Q: why isn't there a website to do this for me?**
*A: The FlickrApi is [rate limited](https://developer.yahoo.com/forum/YQL/What-is-the-maximum-flickr-API/1361494903655-6a1e3a51-cd41-411e-86a9-dc2dee898ab5/) to 3600 queries per house, so a single API key wouldn't be able to handle requests for a large number of users*

CHANGES
=======


0.1.0 (2015-06-02)
------------------

- Initial release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flickr-views-counter-0.1.0.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

flickr_views_counter-0.1.0-py2.py3-none-any.whl (7.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file flickr-views-counter-0.1.0.tar.gz.

File metadata

File hashes

Hashes for flickr-views-counter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 24eeec8ed815ed4016ce058a56b545061d7b4e86877530345b666bc36fcb8529
MD5 388cca47443366ac2a1c0a1b4d856782
BLAKE2b-256 df0291a3fb81290cbabff6217acdfac41335d04cf432508e8429bf8020589157

See more details on using hashes here.

File details

Details for the file flickr_views_counter-0.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for flickr_views_counter-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7df5f2ea1666b00fb6ed461893c765c61d200c41c197925399e8eab0a449077f
MD5 9e1dc642c8a50629ecd83d25f1823636
BLAKE2b-256 dcd41190682afe1bf5ab550ff89542d65ffbbe82d983716a0b42f496c6cc7966

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page