instascrape 및 Python으로 Instagram 참여 시각화

최근 게시물에서 Python을 사용하여 Instagram에서 데이터를 수집하는 경량 수단으로 오픈 소스 Instagram 웹 스크레이퍼 instascrape 를 소개했습니다!






이 게시물에서는 instascrape의 최근 추가 기능 중 하나인 Instagram 사용자의 최근 게시물을 스크랩하는 기능을 사용하여 예를 살펴보겠습니다. 이 데이터를 사용하여 해당 사용자의 참여 추세를 시각화하고 해당 페이지가 성장 또는 감소하는지 확인할 수 있습니다🙌.

데이터 스크랩



제 인스타그램 페이지의 데이터를 시각화할 예정입니다(뻔뻔한 셀프 프로모션 😉). 자유롭게 제 사용자 이름을 제거하고 자신의 것으로 바꾸세요 😬

빠른 메모: 따라갈 계획이라면 pip installing 또는 git cloning instascrape에서 자세한 내용을 확인하세요 😄

이제 바로 들어가 봅시다! 시작하려면 import 스크레이퍼를 사용하고 Instagram에서 데이터를 로드합니다.

from instascrape import Profile 
chris = Profile('chris_greening')
chris.scrape()
recent_posts = chris.get_recent_posts()

기본적으로 Profile는 JavaScript를 렌더링하지 않으므로 우리가 얻을 수 있는 유일한 게시물은 가장 최근 12개입니다(그러나 유연성을 염두에 두고 구축되었으며 instascrape 또는 유사 항목으로 확장 가능)

데이터 구성



이제 데이터가 있으므로 selenium 에 쉽게 구축할 수 있는 listdict를 만들어 보겠습니다.

import pandas as pd 

posts_data = [post.to_dict() for post in recent_posts]
posts_df = pd.DataFrame(posts_data)
print(posts_df[['upload_date', 'comments', 'likes']])

그것은 우리에게

           upload_date  comments  likes
0  2020-10-16 14:39:41         8    119
1  2020-10-15 13:11:42        21    165
2  2020-10-14 12:36:21        16    150
3  2020-09-28 12:17:21         6    164
4  2020-09-27 09:27:00        14    210
5  2020-09-26 11:38:27        16    217
6  2020-09-25 10:18:28        17    227
7  2020-09-24 11:01:04        20    239
8  2020-09-17 17:49:18        15    279
9  2020-09-14 10:05:24        14    316
10 2020-09-09 10:24:17        13    244
11 2020-09-08 09:06:05        33    393


데이터 시각화



대박! 이제 데이터를 시각화하고 페이지가 어떻게 작동하는지 확인할 수 있습니다.

import matplotlib.pyplot as plt 

plt.style.use('seaborn-darkgrid')      # Stylistic change

plt.scatter(df.upload_date, df.likes)  # Plot the data
plt.xlabel('Upload Date')              # Write labels
plt.ylabel('Likes')
plt.title('@chris_greening Likes per Post')
plt.show()                             # Show graph 



그리고 그게 다야! 보시다시피 제 인스타그램은 사실 하향세를 타고 있습니다 yayyyy!... 😅

더 나아가고 싶다면 pandas.DataFrame scikit-learn 과 같은 라이브러리를 사용하여 selenium를 확장하고 아래와 같이 보다 포괄적인 시각화를 위해 동적으로 로드된 데이터에 회귀자를 맞출 수 있습니다.



아래 의견에 귀하의 생각을 알려주거나 더 나은 방법으로 Github의 저장소를 확인하고 기여하십시오!


크리스 그린 / 인스타 스크랩


프로그래밍 방식으로 데이터에 액세스하기 위한 사용하기 쉽고 표현력이 풍부한 도구를 제공하는 Python용 강력하고 유연한 Instagram 스크래핑 라이브러리








instascrape: 강력한 Instagram 데이터 스크래핑 툴킷


부인 성명:


Instagram은 스크래핑에 점점 엄격해지고 있으며 이 라이브러리를 사용하면 봇팅으로 플래그가 지정되고 Instagram 계정이 비활성화될 수 있습니다. 이것은 연구 프로젝트이며 귀하가 사용하는 방법에 대해 책임지지 않습니다. 독립적으로 도서관은 책임감 있고 존중하도록 설계되었으며 도서관에서 무엇을 할지 결정하는 것은 귀하에게 달려 있습니다. 귀하의 인스타그램 계정이 이 라이브러리를 사용하는 방식에 영향을 받는 경우 저는 어떠한 책임도 지지 않습니다.







이게 뭐야?


instascrape는 Instagram 데이터를 스크래핑하기 위한 표현적이고 유연한 API를 제공하는 경량 Python 패키지입니다. 이는 데이터 과학자의 도구 체인에서 높은 수준의 빌딩 블록이 되도록 조정되었으며 웹 스크래핑, 데이터 과학 및 분석을 위한 업계 표준 도구와 원활하게 통합 및 확장될 수 있습니다.

주요 특징들


다음은 몇 가지 사항입니다.

View on GitHub

좋은 웹페이지 즐겨찾기