Python Language
urllib
수색…
HTTP GET
Python 2.x 2.7
파이썬 2
import urllib
response = urllib.urlopen('http://stackoverflow.com/documentation/')
urllib.urlopen()
을 사용하면 파일과 비슷하게 처리 할 수있는 응답 객체가 반환됩니다.
print response.code
# Prints: 200
response.code
는 http 반환 값을 나타냅니다. 200은 OK, 404는 NotFound 등입니다.
print response.read()
'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Documentation - Stack. etc'
response.read()
와 response.readlines()
는 요청으로부터 반환 된 실제 html 파일을 읽는 데 사용될 수있다. 이 메소드는 file.read*
Python 3.x 3.0
파이썬 3
import urllib.request
print(urllib.request.urlopen("http://stackoverflow.com/documentation/"))
# Prints: <http.client.HTTPResponse at 0x7f37a97e3b00>
response = urllib.request.urlopen("http://stackoverflow.com/documentation/")
print(response.code)
# Prints: 200
print(response.read())
# Prints: b'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Documentation - Stack Overflow</title>
이 모듈은 Python 3.x 용으로 업데이트되었지만 사용 사례는 기본적으로 동일합니다. urllib.request.urlopen
은 유사한 파일과 같은 객체를 반환합니다.
HTTP POST
POST 데이터는 인코딩 된 쿼리 인수를 데이터로 urlopen ()에 전달합니다.
Python 2.x 2.7
파이썬 2
import urllib
query_parms = {'username':'stackoverflow', 'password':'me.me'}
encoded_parms = urllib.urlencode(query_parms)
response = urllib.urlopen("https://stackoverflow.com/users/login", encoded_parms)
response.code
# Output: 200
response.read()
# Output: '<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Log In - Stack Overflow'
Python 3.x 3.0
파이썬 3
import urllib
query_parms = {'username':'stackoverflow', 'password':'me.me'}
encoded_parms = urllib.parse.urlencode(query_parms).encode('utf-8')
response = urllib.request.urlopen("https://stackoverflow.com/users/login", encoded_parms)
response.code
# Output: 200
response.read()
# Output: b'<!DOCTYPE html>\r\n<html>....etc'
콘텐츠 형식 인코딩에 따라받은 바이트를 디코딩합니다.
수신 된 바이트는 올바른 문자 인코딩으로 디코딩되어 텍스트로 해석되어야합니다.
Python 3.x 3.0
import urllib.request
response = urllib.request.urlopen("http://stackoverflow.com/")
data = response.read()
encoding = response.info().get_content_charset()
html = data.decode(encoding)
Python 2.x 2.7
import urllib2
response = urllib2.urlopen("http://stackoverflow.com/")
data = response.read()
encoding = response.info().getencoding()
html = data.decode(encoding)
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow