본문 바로가기
빅데이터/크롤링

자바 크롤링 Headless 적용 최신판!!!!(인스타 정책 변경)

by 처리2 2020. 12. 22.
반응형

님들 혹시 인스타 그램 같은거 크롤링 하세여?

 

저는 하는데.. 로컬에서는 존나 잘되는데 headless써서 서버에서 하면 안될때 있죠? 있을껄요 왜냐구요?

내가 그랬으니깐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

이거 거의 무슨 한 3일인가 걸렷는데 이거 특별히 알려드림 대신 도움되면 이거저거 눌러주셈 

 

 

 

일단 갯콘지 뭔지 모르겠고 저는 크롬드라이버 사용합니다. 크롬이 짱짱맨임

 

아무튼 원래는 기존에 추가한거 아시죠 ? 그렇게 했었는데

 

인스타를 하는 중에 자꾸 에러가 나는거에여?

 

인스타 정책이 바뀌어서 무조건 로그인을 해야된다고 하더라고요 예? 알고 있었다고요?

저는 아닌데여  아무튼

 

그래서 아예 로그인을 한후에 해당 url로 다시 보내는 작업을 했습니다.

driver.get("www.instagram.com/");



driver.findElement(By.cssSelector("#loginForm > div > div:nth-child(1) > div > label > input")).sendKeys(아이디); 
driver.findElement(By.cssSelector("#loginForm > div > div:nth-child(2) > div > label > input")).sendKeys(비밀번호); 
driver.findElement(By.cssSelector("#loginForm > div > div:nth-child(3) > button")).click();

String url = "내가 원하는 페이지 주소";

driver.get(url);

 

이런 식으로 보냈습니다. 그래도 아마 안될 수도 있어요

자 이제 driver Option을 봅시다

 

	public ChromeOptions CrawlingConnect() {
		// 연결
		System.setProperty("webdriver.chrome.driver", WEBDRIVER_PATH);
		// option추가
		ChromeOptions options = new ChromeOptions();
		options.addArguments("--headless", "--disable-gpu","-no-sandbox");
		options.addArguments("window-size=1920x1080");
		options.addArguments("user-agent=");
		options.addArguments("lang=ko_KR");
		  // Driver Setup
		  return options;
	}

그냥 집어 넣으세염 저도 잘 몰라여 그냥 headless선언하구.. 윈도우 사이즈는 없어도 되는거 같은데...

 

그리고 저기 user-agent= 다음은 자기꺼 써야되는데

 

m.avalon.co.kr/check.html

 

USER AGENT 확인

navigator.userAgent 값은 다음과 같습니다. $_SERVER['HTTP_USER_AGENT'] 값은 다음과 같습니다.

m.avalon.co.kr

여기 들어가서 

Mozilla/5.0 (Windows  로 시작하는거 다 복사해서 붙여넣으면 됩니다.

 

저게 아마 user인지 확인하는 뭐 그런거라는데 .. 이론은 ㅃ2..

반응형

댓글