python 라이브러리로 URL을 쉽게 다룰 수 있습니다.
furl
Furl를 사용하면 URL을 쉽게 파싱하고 추가 삭제등 다양하게
URL을 다룰 수 있습니다.
설치 방밥 : $ pip install furl
furl 객체는 다음과 같이 구성되어 있습니다.
scheme://username:password@host:port/path?query#fragment
주로 사용하는 host, port, path, query에 대해 살펴보면 다음과 같습니다.
host : 도메인 이름/ IPv4 / IPv6 주소(문자열)입니다. 도메인 이름 모두 소문자입니다.
port : 정수 또는 없음입니다.
path : URL에서 path를 구성하는 개체입니다.
path.segment로 하위 디렉터리를 찾을 수 있습니다.
query:URL에서 ? 뒤에 파라미터를 구성하는 개체입니다.
(Key : Value) 형태
query.params 인수로 구성된 쿼리 개체입니다.
URL 파싱
[ http://www.google.com/?arg1=1&arg2=2 ]
URL의 개별 구성요소마다 별도의 변수로 파싱 할 수 있습니다.
>>> from furl import furl >>> f = furl('http://www.google.com/?arg1=1&arg2=2') >>> f.url 'http://www.google.com/?arg1=1&arg2=2' >>> f.path Path('/') >>> f.query Query('arg1=1&arg2=2') >>> f.port 80 |
Path 다루기
path에는 path와 segments 변수 사용합니다.
segments변수에 새로운 path를 지정하여 업데이트할 수 있습니다.
>>> from furl import furl >>> f = furl('http://www.google.com/a/large/path') >>> f.url 'http://www.google.com/a/large/path' >>> f.path Path('/a/large/path') >>> f.path.segments ['a', 'large', 'path'] >>> str(f.path) '/a/large/path' >>> f.path.segments = ['a', 'new', 'path', ''] >>> str(f.path) '/a/new/path/' >>> f.url 'http://www.google.com/a/new/path' |
Query(Argument) 다루기
query 객체에는 params 변수를 사용합니다.
params변수에 새로운 query를 지정하여 업데이트할 수 있습니다.
args는 query.params와 동일합니다.
>>> from furl import furl >>> f = furl('http://www.google.com/?arg1=1&arg2=2') >>> f.query Query('arg1=1&arg2=2') >>> f.query.params omdict1D([('arg1', '1'), ('arg2', '2')]) >>> f.args omdict1D([('arg1', '1'), ('arg2', '2')]) >>> f.args['arg1'] = 10 >>> f.args omdict1D([('arg1', '10'), ('arg2', '2')]) |
Query 삭제 및 추가
python의 간단한 코딩으로 URL의 query를 삭제 추가가 가능합니다.
>>> from furl import furl >>> f = furl('http://www.google.com/?arg1=1&arg2=2') >>> f /= 'path' >>> del f.args['arg1'] >>> f.args['arg3'] = '3' >>> f.url 'http://www.google.com/path?arg2=2&arg3=3' |
이상으로 Python의 Furl 라이브러리를 이용하여
URL 을 쉽게 다루는 방법에 대해 알아보았습니다.
좀더 상세히 참조하시려면 아래 사이트에 방문하시면 다양한 예제를 보실 수 있습니다.
GitHub - gruns/furl: 🌐 URL parsing and manipulation made easy.
도움이 되셨기를 바랍니다.
'IT' 카테고리의 다른 글
OpenCV 설치 및 빌드하기 (window버젼) (0) | 2023.04.12 |
---|---|
OpenCV 빌드를 위한 CMake 설정 (0) | 2023.04.11 |
인공지능 빅데이터 워크플로우 (0) | 2022.12.09 |
빅데이터 구조 (0) | 2022.11.16 |
인공지능의 시작 (0) | 2022.11.15 |