Рубрики
Без рубрики

Создание матрицы рассеяния данных Instagram с использованием Python

В этом посте я собираюсь показать вам, как вы можете использовать Python для визуализации отношений между Inst … Tagged с Python, наукой данных, веб-соскабливанием, открытым исходным кодом.

В этом посте я собираюсь показать вам, как вы можете использовать Python для визуализации взаимосвязи между переменными Instagram с использованием матрицы Scatter. Это позволит вам оптимизировать свое взаимодействие и работать над избиением печальновидный алгоритм Действительно

Мы будем работать на трех разных шагах с четырьмя отдельными библиотеками:

  • Селен : Автоматизировать веб-браузер, чтобы получить HTML
  • Beautifulsoup : Разбор и соскоб HTML
  • InstaScrape : Scrape посты и загрузите данные
  • Пандас : Организуйте и визуализируйте данные

Ради краткости, я в основном суммирую код для этой части, но в этом можно найти очень похожую полную версию репо .

Поскольку Instagram динамически загружает содержимое, мы не можем сделать простые запросы получить и вызывать его в день. Вместо этого нам нужно быть умным и использовать инструмент, который может сделать JavaScript, имитирующий пользователь, взаимодействующий с веб-страницей.

Это где Селен собирается пригодиться; Это библиотека, которая позволяет нам автоматизировать веб-браузеры, такие как Google Chrome или Firefox Программически использует Python 🐍.

Сценарий, который мы используем, будет:

  1. Перейти на страницу Instagram
  2. Прокрутите его автоматически
  3. Соберите HTML в каждом прокрутке
  4. Сравните HTML и найти различия

Один из удобных функций, которые Селен Предоставляет нам возможность вводить наши собственные сценарии JavaScript в браузере, который взаимодействует с веб-страницей. В этом случае мы будем использовать этот скрипт для непрерывного прокрутки страницы в цикле:

//JavaScript scroll script
window.scrollTo(0, document.body.scrollHeight);
var lenOfPage=document.body.scrollHeight;
return lenOfPage;

После каждого свитка мы используем Beautifulsoup Чтобы получить уникальный шорткод каждого поста на профиль, который мы просто прокручиваем. Это может быть использовано InstaScrape построить InstaScrape. Пост объект для соскабливания с Post.from_shortcode.

Предполагая, что мы создали Список Почта Объекты называются post_objects Теперь мы готовы царапать данные, которые нам нужны. Используя InstaScrape Все, что нам нужно сделать, чтобы скрепить каждый пост:

for post in post_objects:
    post.scrape()

И это все! Каждый Scrape загружает тонну точек данных со всем, начиная от количества лайков, используемых хэштег, помеченных пользователей, загрузки DateTime и т. Д.

Чтобы получить наши данные все аккуратные и актуальные, мы собираемся создавать создание панда. Dataframe Это будет хранить ваши данные:

import pandas as pd 

dataframe = pd.DataFrame([post.to_dict() for post in post_objects])

Теперь, когда у нас есть выразительный и мощный способ обрабатывать наши данные, мы можем создать еще несколько полезных столбцов с

dataframe["upload_hour"] = dataframe['upload_date'].dt.hour 
dataframe["upload_weekday"] = dataframe['upload_date'].dt.weekday
dataframe["amt_tagged_users"] = dataframe['tagged_users'].str.len()
dataframe["amt_hashtags"] = dataframe['hashtags'].str.len()

Теперь, чтобы визуализировать это, мы используем pandas.plotting.scatter_matrix Что позволит нам просмотреть матрицу графиков разбросов, которые показывают различные взаимодействия между переменными! Для этого примера мы будем сравнивать

  • Час загрузки
  • день недели
  • Сумма комментариев
  • количество симпатии
  • Количество помеченных пользователей
  • количество хэштегс

Используя свою собственную личную страницу Instagram ( @chris_greening ), мы получаем:

pd.plotting.scatter_matrix(dataframe[['likes', 'comments', 'amt_tagged_users', 'upload_hour']], figsize=(8,8))

Анализируя эту рассеянную матрицу, теперь мы можем посмотреть на то, как разные переменные взаимодействуют друг с другом и получите представление о том, что мы можем сделать, чтобы лучше повысить наше участие 🙌

Например, глядя на график разброса, который сравнивает upload_hour и нравится Мы видим пик где-то в полдень. Это указывает на то, что в среднем лучшее время для меня до публикации моего Instagram находится вокруг полудня.

Это всего лишь одно отношение, и все больше нужно обнаружить! Дайте мне знать, какие другие отношения вы нашли интересными в комментариях ниже ❤ ️

Если вы хотите узнать больше о разведочном анализе данных, используя InstaScrape Проверьте мои другие сообщения в блоге

Исследующий анализ данных Instagram с использованием InstaScrape и Python

Chris Therening · 22 октября ’20 · 6 мин прочитаны

Визуализация взаимодействия Instagram с InstaScrape и Python

Крис озеривание · 21 октября ’20 · 3 мин прочитано

InstaScrape всегда ищет больше участников, присоединяйтесь к нам в официальном репо

Крис-озерирование/InstaScrape

Мощная и гибкая библиотека Scropping Instagram для Python, обеспечивающая простые в использовании и выразительную инструменты для доступа к данным программно

Что это?

InstaScrape Это легкий пакет Python, который обеспечивает выразительный и гибкий API для соскабливания данных Instagram. Он предназначен для того, чтобы стать строительным блоком высокого уровня на наборе инструментов «Ученый данные» и может быть беспрепятственно интегрирован и распространен с помощью стандартных инструментов промышленности для веб-соскоб, науки и анализа данных.

Ключевая особенность

Вот несколько вещей, которые InstaScrape Делает хорошо:

  • Мощные, объектно-ориентированные соскобы инструменты для профилей, постов, хэштег, катушек и IGTV
  • Scrapes HTML, Beautifulsoup и Json
  • Скачать контент на свой компьютер как портить , JPG , MP4 и mp3
  • Динамически извлекают HTML-встраиваемый код для постов
  • Выразительный и последовательный API для краткого и элегантного кода
  • Предназначен для бесшовной интеграции с Селен , Пандас и другие отраслевые стандартные инструменты для сбора и анализа данных
  • Легкий; Без котельной или конфигураций не требуется
  • Единственные жесткие зависимости являются Запросы и…

Оригинал: “https://dev.to/chrisgreening/visualizing-the-relationship-between-instagram-variables-using-python-55gg”