Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 리눅스
- 파이썬
- 자바
- Java
- gradle
- Python
- go
- boj
- golang
- 주키퍼
- dynamic programming
- DP
- 코드워
- Linux
- zookeeper
- redis
- 스칼라
- Go언어
- HBase
- programmers
- 문제풀이
- 동적프로그래밍
- 알고리즘
- docker
- scala
- OOM
- codewars
- 튜토리얼
- leetcode
- 프로그래머스
Archives
- Today
- Total
파이문
[Python] xn-- 과 같이 시작하는 URL 을 사람이 볼 수 있는 문자로 변경하기 본문
728x90
xn-- 과 같이 시작하는 URL 을 사람이 볼 수 있는 문자로 변경하기
URL 가지고 놀다 보면 xn-- 으로 시작하는 문자를 볼 수 있다. 이를 punycode 라고 하는데 알아 보기가 힘들어서 파이썬으로 간단하게 사람이 볼 수 있는 (human readable) 문자로 변경 가능한 예제를 작성하였다.
아래 처럼 idna 로 decode 하면 된다. 그 전에 해당 문자열은 반드시 punycode 여야 하므로 netloc 만 따로 떼서 진행해야 한다.
from urllib.parse import urlparse
def get_human_readable_text(org):
url = urlparse(org)
if url.scheme != "":
return url.netloc.encode("utf8").decode("idna")
else:
return url.path.encode("utf8").decode("idna")
if __name__ == '__main__':
# 전체 원본 url 혹은 path, query 까지 보고 싶으면 함수 리턴 값을 수정하면 된다.
print(get_human_readable_text("xn--o39ap20a1tj.xn--3e0b707e"))
print(get_human_readable_text("http://xn--o39ap20a1tj.xn--3e0b707e"))
ref
'TIL' 카테고리의 다른 글
[Ansible] 디렉토리 생성 하기 (0) | 2020.09.17 |
---|---|
[Java] FailSafe 를 사용한 Java Retry 예제 (0) | 2019.09.24 |
[Scala] 스칼라에서 for loop 2개 동시에 순회하기 (0) | 2019.05.09 |
[Scala] 자바 컬렉션 스칼라에서 사용하기 (0) | 2019.05.09 |
[C++] C++가 상수의 데이터형을 결정하는 방법 (0) | 2017.02.21 |
Comments