본문 바로가기
Big Data/Scraping

스크래핑 사람처럼 꾸미기

by Wikinist 2023. 7. 17.

Requests header의 User-Agent를 변경

다음의 웹 사이트에서 다음과 같은 User-Agent를 카피합니다.

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Whale/3.21.192.18 Safari/537.36

https://www.whatismybrowser.com/detect/what-is-my-user-agent/

 

What is my user agent?

Every request your web browser makes includes your User Agent; find out what your browser is sending and what this identifies your system as.

www.whatismybrowser.com

Requests에서 추가하는 방법

1. requests에서 바로 사용

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Whale/3.21.192.18 Safari/537.36"
}

res = requests.get(url, headers=headers)

2. session의 헤더 업데이트

session = requests.Session()
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Whale/3.21.192.18 Safari/537.36"
}

# User Agent 정보 추가하는 방법 1 (권장)
session.headers.update(headers)

# User Agent 정보 추가하는 방법 2 (권장하지 않음)
response = session.post(url, page_data, headers=headers)

Selenium에서 추가하는 방법

service = ChromeService(ChromeDriverManager().install())
options = Options()
user_agent = "user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Whale/3.21.192.18 Safari/537.36"
options.add_argument(user_agent)
options.add_argument("--headless")

driver = webdriver.Chrome(options, service)

'Big Data > Scraping' 카테고리의 다른 글

스크레이핑시 데이터 구조 클래스화  (0) 2023.07.18
Crawling / Scraping  (0) 2023.07.11
웹의 동작  (0) 2023.07.11