파이톤으로 도널드 트럼프의 인스타그램 페이지에서 10000개의 데이터 포인트를 캡처하다

이 블로그에서 제 소스 라이브러리 instascrape을 사용하여 인스타그램 페이지에서 10000개 이상의 데이터를 얻는 방법을 보여 드리겠습니다!

만약 당신이 이곳의 내용을 좋아한다면 반드시 나의 또 다른 블로그를 보아야 하지만 조 바이든의 인스타그램 페이지를 보아야 한다.

Selenium을 사용하여 동적 게시물에 액세스


from selenium.webdriver import Chrome
프로그래밍을 통해 우리는 브라우저를 통해 Firefox와 같은 웹 페이지를 동적으로 방문할 수 있다.JavaScript 주입을 통해 웹 페이지를 자동으로 스크롤하고 렌더링할 때 HTML을 수집할 수 있습니다.

BeautifulSoup을 사용하여 단일 post 짧은 부호 해석


from bs4 import BeautifulSoup
인스타그램 페이지가 스크롤되면 Beautiful Soup을 사용하여 표현력이 풍부하고 사용하기 쉬운 문법 해석으로 수집한 HTML을 사용할 수 있습니다.이 예에서, 우리는 모든 게시물의 유일한 짧은 번호를 수집하기를 희망한다.

instascrape로 데이터 캡처


from instascrape import Post
편리한 짧은 코드가 있으면 우리는 현재 selenium 개의 대상을 실례화할 수 있다. 이 대상들은 HTTP를 모든 게시물 페이지에 요청하고 페이지당 52개의 데이터 포인트를 얻을 수 있다.수집된 데이터에는 원하는 개수, 리뷰 개수, 업로드 일자, 사용한 태그, 표시된 사용자 등이 포함됐다.
이 블로그에서 나는 208편의 인스타그램 게시물을 사용했고 모두 10816개의 데이터 포인트를 제시했다.

판다 한 마리를 만들다.데이터 프레임


현재 데이터가 삭제되었습니다. 우리는 instascrape.Postlist을 구축하고 분석에 편리하도록 pandas.DataFrame을 실례화할 수 있습니다.
import pandas as pd 
posts_df = pd.DataFrame([post.to_dict() for post in posts_arr])
이제 dict"upload_date"열을 만나보도록 하겠습니다.
df[["upload_date", "likes"]]
>>> 
    upload_date         likes
0   2020-12-14 21:30:57 179999
1   2020-12-12 19:43:19 1746674
2   2020-12-12 19:33:07 591430
3   2020-12-11 22:11:01 736044
4   2020-12-11 18:34:41 291318
... ...                 ...
203 2020-10-06 13:08:16 536533
204 2020-10-06 13:02:34 664944
205 2020-10-05 22:40:27 579222
206 2020-10-05 22:39:03 1116942
207 2020-10-05 15:35:30 1977338
208 rows × 2 columns

matplotlib으로 시각화된 데이터


데이터가 표현적인 표 형식이기 때문에 우리는 matplotlib으로 가시화를 쉽게 구축할 수 있다
import matplotlib.pyplot as plt 
plt.scatter(df["upload_date"], df["likes"])
plt.show()
약간의 추가 "likes" 마법으로 우리가 얻은 것이 무엇인지 살펴보자.

나는 선거일(11월 3일) 이후의 게시물 빈도 차이를 즉각 발견했다.트럼프의 계정 게시 빈도가 크게 줄었다.

scikit로 다항식 회귀 의합 데이터 학습


더 많은 발굴을 위해 우리는 다항식으로 우리의 데이터를 합쳐서 트럼프가 참여하는 잠재적인 추세를 가시화할 수 있다.
from sklearn.preprocessing import StandardScaler, PolynomialFeatures 
matplotlib 모듈의 StandardScalerPolynomialFeatures을 사용하여 다항식 데이터를 축소하는 특징 행렬을 만들 수 있습니다.
from sklearn.linear_model import LinearRegression
이러한 사전 처리 데이터가 있으면 우리는 현재 sklearn.linear_model.LinearRegression을 사용하여 우리의 모델을 만들 수 있고 최종적으로 그것을 시각화할 수 있다

우리는 또 이 데이터로 무엇을 할 수 있습니까?


앞서 말씀드린 바와 같이 sklearn.preprocessing 대상자는 게시물마다 52개의 데이터 포인트를 긁어낸다.이러한 데이터 포인트는 다음과 같습니다.
  • 리뷰 수량
  • 레이블
  • 태그 사용자
  • 업로드 날짜
  • 설명
  • 위치 레이블
  • 트럼프가 사용하는 라벨을 관찰하다


    트럼프를 대표하는 최소한의 해시태그를 사용한 모든 댓글을 보도록 하겠습니다.
    df["hashtags"][df["hashtags"].str.len() != 0]
    >>>
    2                        [Repost]
    25                       [Repost]
    33                       [Repost]
    58                 [Repost, MAGA]
    65                   [VOTE, MAGA]
    71                   [VOTE, MAGA]
    77                   [VOTE, MAGA]
    82                   [VOTE, MAGA]
    86               [HappyHalloween]
    ...    ...
    191    [whyIfarm, thehenningsens]
    196                      [Repost]
    197     [Repost, WeDeserveToKnow]
    199                      [Repost]
    204                      [Repost]
    Name: hashtags, dtype: object
    

    트럼프의 게시물 태그 분석


    이제 우리가 잡은 모든 댓글을 살펴보자. 그중 트럼프는 적어도 한 명을 표시했다.
    df["tagged_users"][df["tagged_users"].str.len() != 0]
    >>> 
    92    [ivankatrump]
    Name: tagged_users, dtype: object
    
    충격적인 것은 그가 단지 댓글에 다른 사람에게 라벨을 한 번 붙인 적이 있다는 것이다.이 기사의 짧은 코드가 무엇인지 살펴보면 다음과 같이 액세스할 수 있습니다.
    df.iloc[92]['shortcode']
    >>> 'CG-ahVPMUyw'
    

    트럼프가 사용하는 위치 태그


    이 댓글을 끝내고 트럼프가 인스타그램에 어떤 위치 태그를 사용했는지 봅시다:



    df["location"][df["location"].notna()]
    >>>
    0                                 Information icon.
    1            West Point - The U.S. Military Academy
    2                                   The White House
    3                                 Information icon.
    4                                 Information icon.
                               ...                     
    194                               Information icon.
    203                                 The White House
    204                                 The White House
    205                                 The White House
    207    Walter Reed National Military Medical Center
    Name: location, Length: 171, dtype: object
    

    요컨대


    instascrape.Post을 사용하여 인스타그램 데이터를 캡처하는 데 필요한 대량의 다리 작업을 추상화하고 읽기 쉬운 예쁜 코드를 작성하는 데 사용할 수 있는 표현 가능한 API를 제공합니다


    instascrape에 대한 더 많은 정보를 알고 싶으시면 저의 다른 블로그 댓글을 보십시오




    또는 공식 저장소를 보고 별 위에 놓기⭐!




    크리스 그린 / instascrape


    강력한 기능과 유연한 Instagram Python 캡처 라이브러리로 프로그래밍 방식으로 데이터에 접근하기 쉽고 표현력 있는 도구 제공







    instascrape: 강력한 인스타그램 데이터 캡처 키트


    면책 성명:


    인스타그램은 캡처에 대한 요구가 점점 엄격해지면서 이 라이브러리를 사용하면 좀비로 표기되고 인스타그램 계정이 비활성화될 수 있다.이것은 연구 항목이므로 나는 네가 그것을 어떻게 사용하는지 책임지지 않는다.독립적으로, 도서관은 책임감 있고 존중하도록 설계되어 있는데, 이것은 당신이 도서관에 대해 무엇을 하느냐에 달려 있다.Instagram 계정이 라이브러리 사용 방식에 영향을 받는 경우에는 책임을 지지 않습니다









    이게 어떻게 된 일입니까?


    인스타그램 데이터를 캡처하기 위한 표현력이 강하고 유연한 API를 제공하는 경량급 파이톤 패키지입니다.이는 데이터 과학자 도구 체인의 고급 구축 블록이 되기 위해 노력하고 있으며 네트워크 캡처, 데이터 과학 및 분석에 사용되는 업계 표준 도구와 틈새 없이 통합하고 확장할 수 있습니다


    주요 특징




    좋은 웹페이지 즐겨찾기