반응형
이전에 만들어둔 WebDriver를 이용한 아마존 웹 크롤링 소스를 실행했는데, 그때는 없었던 로봇방지 화면이 나타났다.
System.setProperty("webdriver.chrome.driver", "\chromedriver.exe");
String userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 ";
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--disable-blink-features=AutomationControlled");
chromeOptions.addArguments("--user-agent=" + userAgent);
chromeOptions.setExperimentalOption("useAutomationExtension", false);
WebDriver driver = new ChromeDriver( chromeOptions);
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})");
우회할 수 있는 방법은 여러가지가 있는데 100%가 아니기 때문에 다양한 방법을 시도해야 하며, 언제라도 막힐 수 있다.
1. 프록시를 이용하여 다양한 IP 사용하기
2. WebDriver라는 표시 제거하기
3. HTTP헤더에 있는 에이전트 정보 변경하기
4. 일괄적인 패턴 변경하기(랜덤 대기, 스크롤 등)
# 참고
반응형
'FullStack > 21. Java' 카테고리의 다른 글
Spring Security 80, 8080을 https로 사용한 경우 (0) | 2024.06.27 |
---|---|
ProviderManager, AuthenticationProvider 차이 (0) | 2023.11.23 |
Azure Active Directory SSO - 사용자 프로파일(3) (0) | 2023.09.29 |
Azure Active Directory SSO - 로그인 코드(2) (0) | 2023.09.29 |
Azure Active Directory SSO - 연동 준비(1) (0) | 2023.09.29 |