
파이썬 공부(urllib)
Summary:
본 포스팅은 서진수님의 <왕초보! 파이썬 배워 크롤러 DIY 하다!>를 통해 공부한 내용을 정리하기 위해 작성했습니다. 오늘은 Day7 urllib library 입니다.
urllib 라이브러리
urllib
라이브러리 안에는 request, error, parse, robotparser 모듈이 있다. 그 중 이번 실습에서 사용할 모듈은 URL을 읽고 여는 데 필요한 request 모듈과 URL을 파싱하는 데 필요한 parse 모듈이다.
request 모듈
- urlopen( ) : 웹페이지 불러오기
- getheaders( ) : 웹서버 정보를 리스트로 반환
- read( ) : 웹페이지의 HTML코드 출력
import urllib.request
req = urllib.request
d = req.urlopen("http://wikidocs.net/")
status = d.getheaders()
for s in status:
print(s)
d.status
d.read()
parse 모듈
파싱은 쉽게 말해서 어떤 언어를 읽어들이는 것이다. 저자는 ‘우리가 친 한글로 된 검색어를 스스로가 처리하기 좋은 형태로 변형하는 것’을 urllib.parse 모듈이 수행해준다고 설명하고 있다. 한글을 입력해야 하는 경우엔 urllib.parse.quote_plus 함수를 통해 컴퓨터용 언어로 변환시켜줘야 한다.
import urllib.parse
def input_query()
q = urllib.parse.quote_plus(str(input("검색어를 입력하세요: ")))
return "&query=" +q
os 모듈
- getcwd( ) : 작업 중인 디렉토리 표시 [맥 터미널에서 pwd]
- chdir( ) : 디렉토리 변경 [터미널의 cd ~]
- listdir( ) : 해당 디렉토리 안의 파일, 폴더 보기 [터미널의 ls]
- mkdir( ) : 폴더 만들기 [터미널의 mkdir]
- makedirs( ) : 하위폴더 포함 폴더 만들기
- remove( ), unlink( ) : 파일 삭제
- rmdir( ). removedirs( ) : 폴더 삭제
import os
os.getcwd()
os.chdir("~/post")
os.listdir()
os.mkdir("~/post2")
os.makedirs("~/post2/ep1/sub1")
os.remove("~/post2/first.md")
os.unlink("~/post2/first.md")
os.rmdir("~/post2")
os.removedirs("~/post2")
os.path 모듈
os.path는 파일, 폴더에 대한 정보를 알아볼 때 사용한다.
파이썬으로 파일 생성 및 수정
파일을 만들거나 수정할 때 파일 모드 설정이 가능하다. 텍스트, 바이너리, 읽기, 쓰기, 이어쓰기, 읽기&쓰기 등이 있다.
- w : 쓰기
- 아래와 같은 코드를 실행하면 test.md 파일이 만들어지고(이미 있다먼 덮어쓰기) f.write(“ “) 안 내용이 입력된다.
f = open("~/post/test.md", "w")
f.write("test writing")
f.close
- a : 이어쓰기
f = open("~/post/test.md", "a")
f.write("2test writing2")
f.close
또는,
with open("~/post/test.md", "a") as test:
test.write("2test writing2")
- r : 읽기
f = open("~/post/test.md", "r")
f.readline()
f.readlines()
lists = f.readlines()
for list in lists:
print(list)
f.close
- b : 바이너리
- rb : 바이너리 - 읽는용도
- wb : 바이너리 - 쓰는용도
f = open("~/post/test.jpg", "rb")
f.read()
f.close