파이썬을 활용한 웹 크롤링 학습 (1)

devPomme·2021년 6월 2일
0

웹 크롤링

목록 보기
1/1

강의자료

디폴트로 넣어줘야하는 코드(한글 인코딩 작업)

import sys
import io
import urllib.request as dw

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')

urlretrieve vs urlopen

urllib.request.urlretrieve를 이용한 파일 다운로드

  • urlretrieve()
urllib.request.urlretrieve(url[, filename[, reporthook[, data]]])

바로 파일에 데이터 저장 -> open -> 변수에 할당 -> 파싱 -> 저장

  • urlopen()
    읽어들인 데이터를 변수 할당 -> 파싱 -> 저장(db)
urllib.request.urlopen(url[, data][, timeout])

open, write, close

파일 생성하기

f = open("새파일.txt", 'w')
f.close()
파일열기모드설명
r읽기모드 - 파일을 읽기만 할 때 사용
w쓰기모드 - 파일에 내용을 쓸 때 사용
a추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용

with

urlopen 매개변수(parameter) 전달 방법

decode, geturl, status, getheaderes, info, urlparse

HTTP 통신의 결과로 받은 응답을 parse하는 작업

import urllib.request
from urllib.parse import urlparse
import sys
import io
url = "http://www.encar.com/"

mem = urllib.request.urlopen(url)

print(type(mem))
print("geturl :",mem.geturl())
print("status :",mem.status)
print("headers :",mem.getheaders())
print("info :",mem.info(),"\n")
print("getcode :",mem.getcode())
print("read :",mem.read(10).decode('utf-8'))
print("query:", urlparse('http://www.encar.co.kr?test=test').query)
profile
헌신하고 확장하는 삶

0개의 댓글