import pandas as pd
import numpy as np
# 라이브러리 import
# 라이브러리 : 필요한 도구
from selenium import webdriver # 라이브러리(모듈) 가져오라
from selenium.webdriver import ActionChains as AC
from tqdm import tqdm
from tqdm import tqdm_notebook
import re
from time import sleep
import time
# 워닝 무시
import warnings
warnings.filterwarnings('ignore')
# 데이터 수집할 키워드 지정
keyword = "---"
keyword
# 크롬창 띄우기
import chromedriver_autoinstaller
chrome_path = chromedriver_autoinstaller.install()
driver = webdriver.Chrome(chrome_path)
driver.get("https://www.instagram.com/")
time.sleep(3)
# 자신의 인스타 아이디 비번
myID = ""
myPW = ""
# 인스타 아이디 비번폼 선택 및 내 아디 비번 입력 후 로그인 버튼 클릭
idForm = driver.find_element_by_name("username")
pwForm = driver.find_element_by_name("password")
loginBtn = driver.find_element_by_class_name("sqdOP")
idForm.send_keys(myID)
pwForm.send_keys(myPW)
loginBtn.click()
time.sleep(1)
# 검색창에 커서 클릭
element = driver.find_element_by_css_selector(".TqC_a")
element.click()
time.sleep(1)
# 검색 창에 검색어 입력
element = driver.find_element_by_css_selector(".XTCLo.Ju1dg.x3qfX")
element.clear() # 혹시 검색창에 존재하는 텍스트 제거
element.send_keys(keyword)
time.sleep(2)
# 검색어 리스트 중 n번째 검색어 클릭
query_list = driver.find_elements_by_css_selector(".-qQT3")
query_list[n].click()
time.sleep(3)
# 1번째 사진 클릭
CSS_tran="div.Nnq7C.weEfm .eLAPa" #2번째면 v1Nh3,kiKUG._bz0w.FFVAD
driver.find_element_by_css_selector(CSS_tran).click() # 사진 클릭
time.sleep(1)
# 사진(pic) 크롤링
overlays1 = "div._2dDPU.CkGkG .FFVAD" # 사진창 속 사진
img = driver.find_element_by_css_selector(overlays1) # 사진 선택
pic = img.get_attribute('src') # 사진 url 크롤링 완료
pic
# 날짜(date) 크롤링
overlays2 = "div._2dDPU.CkGkG .c-Yi7 > time" # 날짜 지정
datum2 = driver.find_element_by_css_selector(overlays2) # 날짜 선택
datum2.get_attribute('title')
# 좋아요(like) 크롤링
overlays3 = ".Nm9Fw" # 리뷰창 속 날짜
datum3 = driver.find_element_by_css_selector(overlays3) # 리뷰 선택
like = datum3.text # 좋아요 크롤링 완료
like
# 해시태그(tag) 크롤링
overlays4 = ".xil3i"
datum3 = driver.find_elements_by_css_selector(overlays4) # 태그 선택
tag_list = []
for i in range(len(datum3)):
tag_list.append(datum3[i].text)
tag_list
# 다음장 클릭
CSS_tran2="body > div._2dDPU.QPGbb.CkGkG > div.EfHg9 > div > div > div.l8mY4.feth3 > button" # 다음 버튼 정의
tran_button2 = driver.find_element_by_css_selector(CSS_tran2) # 다음 버튼 find
AC(driver).move_to_element(tran_button2).click().perform() # 다음 버튼 클릭
'Crawling' 카테고리의 다른 글
유튜브 영상 조회수 크롤러_youtube_crawl (0) | 2021.12.31 |
---|---|
인스타 해시태그 사진 크롤링_insta_crawl (0) | 2021.12.31 |
네이버 뉴스 댓글 크롤링_naver_news_comment_crawl (0) | 2021.12.30 |
네이버 뉴스 url 크롤링_naver_news_url_crawl (0) | 2021.12.30 |
1. 블로그 url 수집하기 (0) | 2021.12.30 |