티스토리 뷰


from selenium import webdriver

driver = webdriver.Chrome('/users/eunee/Downloads/chromedriver_win32/chromedriver')
driver.get('https://www.instagram.com/explore/locations/1014031024/')

driver.find_elements_by_xpath("//*[@id='react-root']/section/main/article/div[2]/div/div[1]/div[1]/a/div/div[1]")
driver.find_elements_by_xpath('img')

PM 2 : 20 ~ PM 7 : 10

약 다섯시간 뻘짓의 결과 (파이참 돌리는 데 두시간 보냈다.)


얻고싶은 결과

인스타그램에서 '광화문광장'을 장소로 태깅한 사람들이 어떤 해시태그를 함께 사용했는지 알고싶다.

이걸 파이썬으로 .csv 형태로 가져온 다음, R이나 excel로 정리하는 게 목표.




각각의 게시글에 어떤 해시태그가 사용되었는지 궁금하다.


어제 시도한 방법

instaR 패키지를 이용해 R에서 돌리기 : 인스타그램 api 규정 강화로 실패.



나름의 코딩

1. 인스타그램 상에서 광화문광장의 location id는 1014031024  이고, driver.get 을 이용해 자동으로 광화문광장을 검색하게 했다.


2. 크롬 개발자도구(F12)를 활용해 보니 내가 궁금한 데이터들은 



여기 있었다.


공통적으로 class = "_4rbun" 안에 있었고, img alt가 얘들을 묶는 최소 단위인 것 같다. 


driver.find_elements_by_xpath("//*[@id='react-root']/section/main/article/div[2]/div/div[1]/div[1]/a/div/div[1]")
driver.find_elements_by_xpath('img')

그래서 XPath를 복사해 왔고(element들을 바로 가져오는 것보다 효율적인 것 같음)

img 기준으로 찾아라 라고 나름 해본 것 같다.


막힌 부분

1. driver.find_elements_by_xpath 까지는 에러 없이 돌아갔다. 그런데 목적은 find가 아니라 get인걸.. get은 어떻게 하지? 


2. 새로운 게시글을 로딩하기 위해서는 selenium이 페이지를 꾸준히 scroll해야 한다. (https://www.linkedin.com/pulse/scraping-instagram-selenuim-aman-khalid) 를 보니 마우스를 selenium 상에서 움직이기 위해 ActionChains가 필요한 것 같다. 그래서


from selenium.webdriver.common.action_chains import ActionChains

를 해봤는데, 회색으로 코드가 변한다. (파이썬 버전 문제일까)


3. 게다가 BeautifulSoup도 같은 이유로 안됨. 패키지도 파이썬도 다 최신버전인데?


 


그래서..

최근 게시글 500개를 모을 때까지 계속 scroll 하면서

img alt 안에 있는 텍스트들을 scv 파일로 저장하고 싶다.

어쩌면 좋을까..



https://www.linkedin.com/pulse/scraping-instagram-selenuim-aman-khalid

https://nycdatascience.com/blog/student-works/scraping-instagram-for-hashtags/


이 블로그들을 참고하고 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함