본문 바로가기

웹 주소와 utf-8 인코딩 본문

BF 2024/웹 데이터 수집

웹 주소와 utf-8 인코딩

jaegomhoji 2022. 3. 1. 00:40

* 웹페이지 url에 한글이 들어가 있을 경우, url 주소를 복붙하게 되면 이상한 문자들로 변형이 된다.. 

* 웹주소가 utf-8 기법으로 인코딩되어 있는데, 그것이 풀어지기 때문이다. 

 

** 그럴땐 utf-8 인코딩 해제 시 문제가 발생할 여지가 있는 한글문자들을 변환하면 된다.

** urllib.parse.quote("해당문자")를 통해서 인코딩이 가능하다 

 

* 예제는 프롬 소프트웨어의 갓겜 엘든링으로 한다. 아직 사놓고 1시간 밖에 못했다.. 

 

** 이후 해당 url을 requests(요청) 해주고 , 요청한 자료의 url을 오픈해서 response를 수신한다 

** 수신한 페이지를 html파싱 해준다. 

 

++ 간혹 페이지에 따라서 http response 403 을 수신할 때가 있다.

req = Request(url, headers={"User-Agent" : "Chrome" } ) 

html = urlopen(req).read()

 

headers의 옵션은 자동화 봇 방지용으로 사용하는 수집기의 브라우저 종류 명시해준다 

정석대로는 , User Agent : "자리"에, 개발자 도구 -> header -> 나의 컴퓨터의 user-agent 정보를 넣어준다 

 

혹은, 

req = Request(url ) 

req.add_header = url('User-Agent','Chrome') # or 내가 사용하고자 하는 브라우저 등등 ..

 

혹은 !pip install fake-useragent 

from fake_useragent import UserAgent 

ua =UserAgent()

ua.ie 를 통해서 랜덤적으로 user agent 항목을 여러가지 자동적으로 만들어줄 수 있다. 

'BF 2024 > 웹 데이터 수집' 카테고리의 다른 글

Selenium 기초  (0) 2022.03.03
Selenium과 크롬드라이버 설치와 시행  (0) 2022.03.03
request & response, http 상태 코드  (0) 2022.02.28
크롬 개발자 도구와 웹페이지 urlopen  (0) 2022.02.28
html 태그  (0) 2022.02.28
Comments