셀레니움, User-Agent 변경하여 접속하기
pip install user-agent
from user_agent import generate_user_agent, generate_navigator
print(generate_user_agent(device_type='desktop'))
print(generate_user_agent(os='win', device_type='desktop'))
print(generate_user_agent(os=('mac', 'linux'), device_type='desktop'))
navigator = generate_navigator()
print(navigator)
print(navigator['platform'])
매번 사용할 때마다 반환되는 User-Agent 값이 달라진다.
generate_user_agent 는 단순히 지정한 속성에 알맞은 user-agent 문자열을 반환하는 반면에 generate_navigator은 user-agent 객체(dictionary 타입)을 반환한다. 객체 key 값을 지정하여 알맞은 값을 추출해서 사용할 수 있습니다.
[참고] https://github.com/lorien/user_agent
마이크로소프트 엣지를 이용한 크롤링 준비 예
from msedge.selenium_tools import Edge, EdgeOptions
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
from user_agent import generate_user_agent, generate_navigator
import time
options = EdgeOptions()
options.use_chromium = True
options.add_argument('--disable-blink-features=AutomationControlled')
# 사용할 엣지 드라이버 실행 파일 등록 (msedgedriver.exe 드라이브는 미리 다운로드 받아 저장해둔다)
driver = Edge('c:/webdriver/msedgedriver.exe', options = options)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {"source": """ Object.defineProperty(navigator, 'webdriver', { get: () => undefined }) """})
# 접속할 주소
URL = 'https://google.com'
# User Agent 새로 생성
userAgent = generate_user_agent()
options.add_argument(f'user-agent={userAgent}')
# 접속
driver.get(URL)
# 접속한 주소 출력
print(driver.current_url)
time.sleep(20)
# 드라이버 종료
driver.quit()
[접속 화면]
'웹 크롤링, 스크래핑' 카테고리의 다른 글
Java, Selenium Exceptions Handle, 셀레니움 예외 처리 (0) | 2022.06.23 |
---|---|
Selenium, 링크나 버튼을 클릭할 때 click() 함수 반응이 없는 경우 (0) | 2022.06.22 |
셀레니움 쿠팡 로그인 차단 접속 거부 Access Denied 해결 (0) | 2022.06.21 |
Selenium에서 MicroSoft Edge 이용 (0) | 2022.06.21 |
Selenium 공식 사이트 (0) | 2022.06.21 |