오답노트 | urllib, regular expression 메타문자

소리·2023년 10월 11일
0

✅ 오답노트 | 웹데이터 분석 퀴즈

module urllib

: 파이썬에서 url을 다루기 위한 모듈로 http, FTP, SMTP 와 같은 프로토콜을 사용하여 URL을 open, read, write를 함

.

  • urllib.request : url을 열고 데이터를 가져오는 기능을 제공
    urllib.urlopen() url을 열어 HTTPResponse 객체를 반환하는 함수, read() 메서드를 사용해서 응답 본문을 가져올 수 있다.
    urlretreieve() url에서 파일을 다운로드, 로컬 파일로 저장하는 함수. 매개변수로 다운 파일의 url, 저장 경로를 받는다.

  • Request : urllib.request.Request로, HTTP 요청을 만들기 위한 클래스(헤더, 쿠키 정보 설정 가능)
    Request('url 문자열', '옵션을 나타내는 딕셔너리{헤더정보를 나타내는 문자열 : 해당 헤더 정보의 값}')

    🔑 request 함수에서 header 정보에 chrome 등 브라우저 정보를 넣는 이유 => 접근하고자 하는 사이트에서 사용자가 일반적인 이용자인지 아닌지 확인하기 위해서

예) import urllib.request
import urllib.parse

url = 'https://www.example.com/search'
data = {'q' : 'python'}

data = urllib.parse.urlencode(data)
url = url + '?' + data

headers = {
	'User-Agent' : "~~",
    'Refere' : 'https://www.example.com'
}

req = urllib.request.Request(url, headers = headers)
response = urllib.request.urlopen(req)

html = response.read()

예제출처

.

  • urllib.parse : url를 구성 요소로 분리하고 url을 인코딩하고 디코딩하며 url 쿼리 문자열을 구문 분석하는 기능

    quote() url 완전 문자열로 인코딩하기 위해 사용, url에 포함될 수 없는 문자를 처리하는데 사용

    unquote() url 완전 문자열을 디코딩하기 위해서 사용
    urllib quote 함수 주소에 한글이 포함된 경우 인코딩을 맞춰준다.

    urljoin(base, url, allow_gragments = True) base URL 과 다른 url을 결합한다. 🔑상대주소와 절대주소에 대해 잘 대응하며, 상대주소를 절대주소로 변환해준다.

Regular Expression Metacharacters

\d 0 ~ 9까지의 숫자와 일치하는 메타문자(문자열 일치를 위한)
\D 숫자가 아닌 모든 단어와 일치 (\d와 반대)
\w 모든 단어와 일치(az, AZ, 0-9, _)
\W 단어가 아닌 모든 문자와 일치
\s 스페이스바, 탭, return을 포함한 모든 공백과 일치

000 - 0000 - 0000 => \d+\s-\s\d+\s-\s\d+
profile
데이터로 경로를 탐색합니다.

0개의 댓글