Как скрести все посты хэштега в инстаграм - PullRequest
0 голосов
/ 08 февраля 2020

Я хочу очистить все посты, содержащие #hashtag из Instagram

Я попробовал это с: https://www.instagram.com/explore/tags/perfume/?__a=1

Но он дает только некоторые посты не каждый почта.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Внимательно посмотрите на json, который вы получаете.

Перейдите к graphql -> hashtag -> edge_hashtag_to_media -> page_info -> end_cursor

Это идентификатор, который вы должны использовать для указания следующей партии носителей, например:

https://www.instagram.com/explore/tags/perfume/?__a=1&max_id=QVFDNWJDZnpGbElpdEV5Q19aaldYWUsxZnc1YUd0Z21yNUZsOWw4V2NxX05ZWnZjT2pRb3lrY29ocDJnM0VNallUWGZVeDIxVURnUzltdHpBR1A1a0VRNw==

Вы можете повторить этот процесс, чтобы получить больше носителей для запрошенного хэштега.

Наивный пример с запросами (python3) для извлечения первых 10 пакетов.

import requests
import json
from time import sleep

max_id = ''

base_url = "https://www.instagram.com/explore/tags/perfume/?__a=1"
for i in range(0, 10):
    sleep(2) # Be polite.

    if max_id:
        url = base_url + f"&max_id={max_id}"
    else:
        url = base_url

    print(f"Requesting {url}")
    response = requests.get(url)
    response = json.loads(response.text)
    try:
        max_id = response['graphql']['hashtag']['edge_hashtag_to_media']['page_info']['end_cursor']
        print(f"New cursor is {max_id}")
    except KeyError:
        print("There's no next page!")
        break

Как сказано в комментарии, будьте вежливы. Instagram заблокирует вас, если вы снимаете слишком много запросов в секунду.

0 голосов
/ 18 февраля 2020

Вы можете использовать эту библиотеку https://github.com/postaddictme/instagram-php-scraper/blob/master/examples/getMediasByTag.php

Для этой функции в качестве параметра требуется количество носителей, поэтому, если вы хотите восстановить все носители хэштегов, вы должны будете получить значение "graphql-> hashtag-> edge_hashtag_to_media-> count" в JSON feed https://www.instagram.com/explore/tags/perfume/?__a=1

...