3dgoo/silverstripe-instagram-scraper

An Instagram scraper module for Silverstripe

Maintainers

👁 3Dgoo

Package info

github.com/3Dgoo/silverstripe-instagram-scraper

Issues

Type:silverstripe-vendormodule

pkg:composer/3dgoo/silverstripe-instagram-scraper

Statistics

Installs: 47

Dependents: 0

Suggesters: 0

Stars: 2

1.0.0 2020-06-04 03:49 UTC

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 10acec36746ce941a8b4a78fc193ff0d414dd1db

  • 3dgoo <michael.woop@3dgoo.com>

scraperinstagramsilverstripe

This package is auto-updated.

Last update: 2026-06-21 19:20:29 UTC


README

👁 Build Status
👁 codecov.io
👁 Scrutinizer Code Quality
👁 Latest Stable Version
👁 Total Downloads
👁 Latest Unstable Version
👁 License

An Instagram scraper module for Silverstripe.

Requirements

Installation (with composer)

$ composer require 3dgoo/silverstripe-instagram-scraper

Usage

Import Instagram posts of a certain handle through running the following dev task:

php vendor/silverstripe/framework/cli-script.php dev/tasks/import-instagram-posts handle=<handle>

Sometimes Instagram may require us to log in to fetch this data. This can be done by adding the following to our .env file:

INSTAGRAM_USERNAME="<username>"
INSTAGRAM_PASSWORD="<password>"

Once our Instagram posts are imported we can display them with the following code:

PageController.php

use X3dgoo\InstagramScraper\Model\InstagramPost;

class PageController extends ContentController
{
 public function InstagramPosts($limit = 10)
 {
 return InstagramPost::get()
 ->filter([
 'Show' => true,
 ])
 ->limit($limit);
 }
}

Page.ss

<% if $InstagramPosts %>
<div class="instagram-posts">
 <% loop $InstagramPosts %>
 <div class="instagram-post">
 <a href="{$Link}" target="_blank">
 <img src="{$ImageThumbnailURL}" alt="{$Caption.LimitWordCount(20).XML}" />
 <div class="caption">
 $Caption.LimitWordCount(20)
 </div>
 </a>
 </div>
 <% end_loop %>
</div>
<% end_if %>