9. URLLIB.PARSE 사용하기
소스(demoparse.py)
from urllib.parse import urlparse siteurl = "http://ehclub.co.kr/language;python?id=ehclub&seq=23#ln20" dest = urlparse(siteurl) print('src siteurl:'+siteurl) print('parsing result:') print(dest)
if dest.scheme: print('scheme:'+dest.scheme) if dest.netloc: print('netloc:'+dest.netloc) if dest.path: print('path:'+dest.path) if dest.params: print('params:'+dest.params) if dest.query: print('query:'+dest.query) if dest.hostname: print('hostname:'+dest.hostname) if dest.username: print('username:'+dest.username) if dest.password: print('password:'+dest.password) if dest.fragment: print('fragment:'+dest.fragment) if dest.port: print('port:'+dest.port) |
결과
src siteurl:http://ehclub.co.kr/language;python?id=ehclub&seq=23#ln20 parsing result: ParseResult(scheme='http', netloc='ehclub.co.kr', path='/language', params='python', query='id=ehclub&seq=23', fragment='ln20') scheme:http netloc:ehclub.co.kr path:/language params:python query:id=ehclub&seq=23 hostname:ehclub.co.kr fragment:ln20 |
urllib.urlparse 모듈에는 url을 분석하는 urlparse 함수와 분리 및 결합하는 함수 등을 제공합니다. 여기에서는 입력인자로 전달받은 url을 구문 분석하는 urlparse 함수를 사용하였습니다.
urlparse 함수는 입력 인자로 url을 인자로 받고 분석한 결과 개체를 반환합니다.
• dest = urlparse(siteurl)
반환 개체에는 scheme, netloc, path, params, query, fragment, username, password, hostname, port 정보를 멤버로 갖습니다.
만약 여러분께서 웹 페이지를 수집하는 로봇을 개발한다고 가정하면 수집한 웹 페이지 내의 하이퍼링크 목록의 각 url을 구문 분석하는 작업을 요구합니다. 웹 로봇은 이미 수집을 완료하였거나 수집 대상 사이트로 등록한 주소인지 확인하는 작업을 통해 수집한 웹 페이지 내의 하이퍼목록을 버리거나 수집 대상 사이트에 추가합니다. 이 때 fragment나 query 등은 수집 대상 사이트를 구분하는 주소에는 필요치 않아 분리하는 작업이 필요합니다. 이 때 urllib.parse 모듈을 사용할 수 있습니다.
'프로그래밍 기술 > Django 웹 프로그래밍' 카테고리의 다른 글
11. HTTP.CLIENT 사용하기 (0) | 2019.02.15 |
---|---|
10. URLLIB.REQUEST, RESPONSE 사용하기 (0) | 2019.02.15 |
8. 웹 표준 라이브러리 구성 (0) | 2019.02.15 |
7. DJANGO 웹 프로젝트 생성하기 (0) | 2019.02.15 |
6. DJANGO 설치, MVC 패턴, MVT 패턴 (0) | 2019.02.15 |
5. 웹 서버와 웹 애플리케이션 서버 (0) | 2019.02.15 |
4. 웹 클라이언트 제작 실습 (0) | 2019.02.15 |
3. 웹 프로그래밍 (0) | 2019.02.15 |
2. PYTHON 설치 (0) | 2019.02.15 |
1. 들어가기에 앞서 (0) | 2019.02.15 |