외부 의존성이없는 Instagram 용 Python 패키지


Instagram 사용자 정보, 게시물 데이터, 해시 태그 및 위치 데이터를 Scrape. 이 패키지는 사용자의 최근 게시물을 좋아, 댓글, 캡션 등과 같은 일부 정보로 긁어냅니다. 외부 종속성은 없습니다.
pip install instagramy
pip install instagramy --upgrade
Instagramy 세션 ID를 통해 Instagram에 로그인하려면 필요합니다. 사용자 이름이나 비밀번호가 필요하지 않습니다. 세션 ID를 얻으려면 브라우저를 통해 Instagram에 로그인해야합니다.
참고 : 세션 ID를 자주 확인하면 Instagram에 의해 변경 될 수 있습니다.
InstagramUser 클래스 Instagram 사용자와 관련된 정보 중 일부를 긁어
> >> from instagramy import InstagramUser
> >> session_id = "38566737751%3Ah7JpgePGAoLxJe%334"
> >> user = InstagramUser ( 'google' , sessionid = session_id )
> >> user . is_verified
True
> >> user . biography
'Google unfiltered—sometimes with filters.'
> >> user . user_data # More data about user as dictOneetime 사용자의 데이터를 얻으면 Instagramy는 데이터를 캐시 파일로 저장하여 오류를 피하십시오. 캐시에서 데이터도 얻을 수 있습니다. SessionID를 제공하지 마십시오.
> >> from instagramy import InstagramUser
> >> user = InstagramUser ( 'google' , from_cache = True )
> >> user . is_verified
True InstagramUser , InstagramHashTag 및 InstagramPost 모든 클래스 중 하나입니다.
InstagramUser.user_data 에는 Properties 으로 정의 된 것 이외의 데이터가 더 많습니다
클래스 InstagramHashTag Instagram의 해시 태그와 관련된 정보 중 일부를 긁어
SessionID를 ENV 변수로 설정할 수도 있습니다
$ export SESSION_ID= " 38566737751%3Ah7JpgePGAoLxJe%er40q " > >> import os
> >> from instagramy import InstagramHashTag
> >> session_id = os . environ . get ( "SESSION_ID" )
> >> tag = InstagramHashtag ( 'google' , sessionid = session_id )
> >> tag . number_of_posts
9556876
> >> tag . tag_data # More data about hashtag as dict InstagramHashTag.tag_data 에는 Properties 으로 정의 된 것 이외의 데이터가 더 많습니다
InstagramPost 클래스는 Instagram의 특정 게시물과 관련된 일부 정보를 긁어냅니다. Post ID를 매개 변수로 사용합니다. InstagramUser.posts 의 속성에서 Instagram 게시물의 URL에서 Post ID를 얻을 수 있습니다. 또는 InstagramHagTag.top_posts
> >> from instagramy import InstagramPost
> >> session_id = "38566737751%3Ah7JpgePGAoLxJe%334"
> >> post = InstagramPost ( 'CLGkNCoJkcM' , sessionid = session_id )
> >> post . author
'ipadpograffiti'
> >> post . number_of_likes
1439
> >> post . post_data # More data about post as dict InstagramPost.post_data 에는 Properties 으로 정의 된 것 이외의 데이터가 더 많습니다
클래스 InstagramLocation 주어진 위치와 관련된 일부 정보 및 게시물을 긁어냅니다. 위치 ID와 슬러그를 매개 변수로 사용합니다. Instagram 위치의 URL 또는 InstagramPost.location.id 및 InstagramPost.location.slug 속성에서 위치 ID 및 슬러그를 얻을 수 있습니다.
> >> from instagramy import InstagramPost
> >> session_id = "38566737751%3Ah7JpgePGAoLxJe%334"
> >> post = InstagramPost ( 'CLGkNCoJkcM' , sessionid = session_id )
> >> location_id , slug = post . location . id , post . location . slug
> >> from Instagramy import InstagramLocation
> >> location = InstagramLocation ( location_id , slug , session_id )
> >> location . latitude
28.6139
> >> location . longitude
77.2089
> >> location . address
{ 'street_address' : 'T2, Indira Gandhi International Airport' , 'zip_code' : '' , 'city_name' : 'New Delhi' , 'region_name' : '' , 'country_code' : 'IN' , 'exact_city_match' : False , 'exact_region_match' : False , 'exact_country_match' : False }Instagram URL에서 위치 ID와 슬러그를 얻을 수도 있습니다.
https://www.instagram.com/explore/locations/977862530/mrc-nagar
https://www.instagram.com/explore/locations/<location_id>/<slug> InstagramLocation.location_data 에는 Properties 으로 정의 된 것 이외의 데이터가 더 많습니다
Instagramy에는 쉽게 플러그인이 있습니다
> >> import pandas as pd
> >> from instagramy . plugins . analysis import analyze_users_popularity
> >> session_id = "38566737751%3Ah7JpgePGAoLxJe%334"
> >> teams = [ "chennaiipl" , "mumbaiindians" ,
"royalchallengersbangalore" , "kkriders" ,
"delhicapitals" , "sunrisershyd" ,
"kxipofficial" ]
> >> data = analyze_users_popularity ( teams , session_id )
> >> pd . DataFrame ( data )
Usernames Followers Following Posts
0 chennaiipl 6189292 194 5646
1 mumbaiindians 6244961 124 12117
2 royalchallengersbangalore 5430018 59 8252
3 kkriders 2204739 68 7991
4 delhicapitals 2097515 75 9522
5 sunrisershyd 2053824 70 6227
6 kxipofficial 1884241 67 7496 > >> import os
> >> from instagramy . plugins . download import *
> >> session_id = os . environ . get ( 'SESSION_ID' )
> >> download_profile_pic ( username = 'google' , sessionid = session_id , filepath = 'google.png' )
> >> download_post ( id = "ipadpograffiti" , sessionid = session_id , filepath = 'post.mp4' )
> >> download_hashtags_posts ( tag = "tamil" , session_id = session_id , count = 2 ) 로그인하지 않고이 패키지를 사용할 수 있습니다. SessionID는 필요하지 않지만 4 ~ 5 번의 요청 후 RedirectionError 오류가 발생할 수 있습니다.
> >> from instagramy import *
> >> user = InstagramUser ( 'google' )
> >> user . fullname
'Google'
> >> tag = InstagramHashTag ( 'python' )
> >> tag . tag_data 버전 4.3 에서 필요한 데이터를 캐싱하는 새로운 기능을 추가했습니다. ONETIME 사용자의 데이터를 얻으면 Instagramy는 데이터를 캐시 JSON 파일로 저장하여 오류를 피하십시오. 캐시에서 데이터도 얻을 수 있습니다. SessionID를 제공 할 필요가 없습니다. SessionId 대신 옵션 매개 변수 from_cache=True 추가하십시오.
> >> from instagramy import InstagramUser
> >> user = InstagramUser ( 'google' , from_cache = True )
> >> user . is_verified
True InstagramUser , InstagramHashTag , InstagramPost 및 InstagramLocation 의 모든 클래스 중 하나입니다.
Instagramy에서 생성 된 모든 캐시를 현재 DIR BY에서 지우십시오.
> >> from instagramy . core . cache import clear_caches
> >> clear_caches () # clear all caches of instagramy현재 DIR에서 Instagramy에서 생성 된 모든 캐시 파일 목록
> >> from instagramy import list_caches
> >> list_caches () # list all caches of instagramy user = InstagramUser ( 'username' )
email , phone_number = user . user_data [ 'business_email' ], user . user_data [ 'business_phone_number' ]RedirectionError 될 수 있습니다.Viewer 현재 로그인 한 사용자에 대한 데이터를 제공합니다.InstagramUser.user_data , InstagramPost.post_data , InstagramHashtag.tag_data 및 InstagramLocation.location_data python dict 는 Properties 으로 정의 된 것 외에 점점 더 많은 데이터를 가지고 있습니다.세션 ID Instagram과 함께 Instagram에 큰 요청을 보내면 금지 할 수 있습니다. 이 프로그램으로 인한 오용이나 피해에 대해 책임을지지 않습니다.
MIT 라이센스
기부금을 환영합니다. 문제의 버그를보고하고 풀 요청을 만들어 일부 버그를 수정하십시오. 의견, 제안, 개선 및 개선 사항은 항상 환영합니다. 여기에 그것에 대해 Disscuss를 보자.