proklung / instagram-parser-bundle
Symfony bundle for parsing Instagram via RapidAPI.
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.3
- ext-curl: *
- ext-json: *
- psr/container: ^1.0
- symfony/cache: ^4.0 || ^5.0
- symfony/config: ^4.0 || ^5.0
- symfony/console: ^4.0 || ^5.0
- symfony/dependency-injection: ^4.0 || ^5.0
- symfony/http-kernel: ^4.0 || ^5.0
- webarchitect609/bitrix-cache: ^1.9
Requires (Dev)
- mmo/faker-images: ^0.3.0
- proklung/phpunit-testing-tools: ^1.0
README
Решение частной задачи, показавшее некоторую степень универсальности.
Используется api. В качестве дополнения приложен механизм генерации фикстур с помощью консольных команд.
Зачем?
Не захотел городить конструкцию с регистрацией приложения в Facebook и т.д. "Обычные" средства парсинга с некоторых, уже давних, пор работают с перебоями. Пришлось так.
Установка
composer.json:
"repositories": [ { "type": "git", "url": "https://github.com/proklung/instagram.parser.bundle" } ]
composer require proklung/instagram-parser-bundle
Пример конфигурации бандла
instagram_parser_rapid_api: defaults: enabled: true ##################################### # Настройки кэширования. Опционально ##################################### cache_path: 'cache/s1/instagram-parser' cache_ttl: 86400 cache_user_data_ttl: 31536000 cacher_service: 'app.cache.adapter.redis' # Любой кэшер, реализующий Symfony\Contracts\Cache\CacheInterface ############## # Мок запроса ############## mock: false # Путь к фикстуре запроса картинок. fixture_response_path: '/local/config/Fixture/response.txt' # Путь к фикстуре запроса данных пользователя. fixture_user_path: '/local/config/Fixture/user.txt' # Куда локально сохранять картинки из Инстаграма. path_image: '/upload/instagram' ########################### # Информация о пользователе ########################### # См. https://codeofaninja.com/tools/find-instagram-user-id/ # Или запрос вида https://www.instagram.com/web/search/topsearch/?query=dertaglu (поле PK) # Или получение через UserInfoRetriever. instagram_user_id: 8440733461 # Имя пользователя. instagram_user_name: user_instagra, ################ # Параметры API ################ # Ключ к https://rapidapi.com/restyler/api/instagram40 rapid_api_key: 5466bdf907vvv430e9579da6a738p18854cjsnb789fb399aa0
Консольная команда
php bin/console make:instagram-fixtures exampleInstagramUserName
В результате положит две фикстуры (user.txt
и response.txt
) по адресам, указанным
в ключах fixture_user_path
и fixture_response_path
бандла.