数据收集的地狱,Instagram?用这3种方法轻松突破!

介绍Instagram数据收集方法、优缺点、官方API、网页、私人API的使用方法

4
数据收集的地狱,Instagram?用这3种方法轻松突破!

0. Instagram 크롤링하는 3가지 방법

Instagram을 크롤링하는 데에는 다양한 방법이 존재합니다.

다음 사례들에 대한 코드는 루비로 이루어져 있습니다.

1. Public API를 이용한 방법

액세스 토큰 발급

개발자 계정 생성 및 앱 등록 후 인증을 받고 액세스 토큰을 발급받아야 합니다.

require 'net/http'
require 'json'

access_token = '발급받은 액세스 토큰'
url = URI("https://graph.instagram.com/me?fields=id,username,followers_count&access_token=#{access_token}")

response = Net::HTTP.get(url)
data = JSON.parse(response)

follower_count = data['followers_count']
puts "팔로워 수: #{follower_count}"

장단점

장점:
- 공식적인 API라 차단되는 경우가 없습니다.

단점:
- 개발자 계정과 액세스 토큰이 필요합니다.
- 요청 수와 속도에 제약이 있습니다.
- 개인정보 보호로 자신의 팔로워 수만 가져오고 다른 유저의 팔로우 수는 가져올 수 없습니다.

2. 웹페이지를 이용한 방법

require 'nokogiri'
require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome

url = "https://www.instagram.com/suuu_yeony/"
driver.get(url)

doc = Nokogiri::HTML(driver.page_source)
follower_count = doc.at('button:contains("팔로워")').text
puts "#{follower_count}"

장단점

장점:
- 다른 유저의 팔로워 수까지 함께 가져올 수도 있습니다.

단점:
- 탐지되면 IP 차단 혹은 아이디 차단을 당할 수 있습니다.
- 셀레니움의 특성상 안정성이 떨어질 수 있습니다.

3. Private API를 이용한 방법

JSON 형태로 반환된 데이터 파싱을 활용하는 방법입니다.

장단점

장점:
- 다른 유저의 팔로워 수를 가져올 수도 있습니다.
- 안정성 우수

단점:
- 탐지되면 IP 차단 혹은 아이디 차단을 당할 수 있습니다.

4. 결론

위에 소개해 드린 방법 외에 크롤링 하는 방법은 여러가지가 존재하고 각 목적에 맞게 사용할 수 있습니다.

Instagram은 로그인을 하지 않으면 한페이지에 해당하는 데이터만 가져올 수 있는 등의 제약이 있습니다.

해시스크래퍼의 Instagram 수집을 통해 로그인 없이 손쉽게 크롤링을 경험해 보시길 바랍니다.

Comments

Add Comment

Your email won't be published and will only be used for reply notifications.

继续阅读

Get notified of new posts

We'll email you when 해시스크래퍼 기술 블로그 publishes new content.

Your email will only be used for new post notifications.