이전시간에 urlretrive, urlopen 메서드를 통해서 링크를 통해 데이터를 로컬에 저장할 수 있었다.
이번시간은
1. urlopen 파라미터 전달방법
2. type(자료형)
3. decode, geturl, status, getheaders, info, urlparse 메서드에 대해 알아보겠다.
먼저, 이전에 생성했던 폴더에 파이썬 파일을 생성하자 (download2-3-1.py)
다음 코드를 입력해보고 실행시켜서 결과를 확인해보자.
아래는 코드 출력결과에 따른 설명이다.
11 : request의 urlopen 메서드를 통해 url을 mem 변수에 저장함
13 : <http.client.HTTPResponse object at 0x000002C0D4311198> 라는 결과가 나오는데 urlopen 한 결과가 어떠한 메모리 공간에 저장되었음을 뜻한다.
14 : <class 'http.client.HTTPResponse'> mem 변수의 타입은 http.client.HTTPResponse 임을 알수있다.
15~17 : 파이썬에는 3가지 중요한 타입이 있는데 dictionary, list, tuple이다. 자바의 배열,리스트,맵과 비슷한 개념이니 검색 후 세개의 차이점을 비교해보자.
20 : geturl 메서드를 통해 mem 변수에 실제 url 경로를 확인할 수 있다.
21 : mem.status 값은 200(성공)이 나온다. 해당 url은 유효하다는것을 알수있다.
22 : getheaders 메서드를 통해 url로 전송될 헤더값을 확인 가능하다.
29 : read를 통해 데이터를 긁어오는데, 50바이트만 긁어왔고, urf-8로 decode 시켰다.
30 : urlparse 는 urllib 라이브러리의 parse 메서드로부터 임포트 한 메서드인데, 파라미터로 전달받은 url을 분리시켜 정보를 나눈것이다. "?" 이후로 시작되는 부분은 query로 분류됨을 출력을 통해 확인할 수 있다.
(download2-3-2.py 파일을 생성한 후 다음 실습을 진행하겠다)
위 링크를 클릭하여 들어가면 링크 요청으로 본인의 ip 값을 리턴받을 수 있다.
형식에 맞게 요청을 보내고 본인 아이피를 리턴받음을 확인할 수 있는 실습을 진행해보자.
10 : API 변수에 주소를 넣는다.
12 : values 변수에(dictionary) format(키), json(값) 을 넣어두자
15 : values 값은 {'format': 'json'} 임을 확읺할 수 있다.
17 : urllib의 parse 메서드로부터 임포트한 urlencode에 values 값을 넣어 형식을 format=json으로 맞춘다
21 : 기존 주소에 파싱된 url을 파라미터로 넣어 전송시킬 코드를 완성시킨다.
24 : urlopen을 통해 전송할 url을 읽고 utf-8로 decode시킨 결과 원하는 ip값을 받아오는 것을 확인할 수 있다.
www.mois.go.kr/frt/bbs/type013/commonSelectBoardList.do?bbsId=BBSMSTR_000000000006
위 주소는 행정안전부의 알립니다 탭인데, 여기서 rss 주소를 제공하여 확인할 수 있다.
그 주소가 10번째 줄에 있고, 파라미터를 던져 여러 게시판에서 제공하는 rss 코드를 가져온것을 확인할 수 있다.
'언어 > python&웹 크롤링' 카테고리의 다른 글
[python&웹 크롤링] 9. BeautifulSoup 사용 및 웹 파싱 기초(1) (0) | 2020.12.18 |
---|---|
[python&웹 크롤링] 8. youtube 동영상 다운로드 및 mp3 변환 (2) | 2020.12.09 |
[python&웹 크롤링] 6. urllib을 활용한 필요 데이터 추출하기(1) (0) | 2020.11.26 |
[python&웹 크롤링] 5. 파이썬 설치 및 개발환경 설정(4) (0) | 2020.11.26 |
[python&웹 크롤링] 4. 파이썬 설치 및 개발환경 설정(3) (0) | 2020.11.16 |