활용3. 웹스크래핑(0825-0829)/urllib

urllib.request 와 requests

나도초딩 2022. 9. 10.

 

1
2
3
4
5
6
7
8
9
10
11
12
# common module
import requests
import urllib.request
 
# BeautifulSoup
from bs4 import BeautifulSoup as bs
 
# Selenium
from selenium import webdriver
from scrapy.selector import Selector
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
cs

 

1. requests

먼저 requests는 데이터를 전송할 때 딕셔너리 형태로 보낸다. 

만약 존재하지 않는 페이지를 요청해도, 500, 404등의 HTTP

에러를 반환하지 않는다.

 

requests는 전송할 함수를 명확하게 명시한다

 

1
response = requests.get(url, params=params)
cs
1
2
= requests.get(BASE_URL + uri+'?hintKeywords={}&showDetail=1'.format(input("검색어를 입력하세요 : ").replace(' ','').strip()),
                 headers=get_header(method, uri, API_KEY, SECRET_KEY, CUSTOMER_ID))
cs

 

2. urllib.request

데이터를 전송할 때 인코딩을 해서 바이너리 형태로 전송한다.

데이터의 상태에 따라서 get과 post 함수를 구분해서 전송한다.

 

1
2
3
4
5
6
url = "www.example.com"
request = urllib.request.Request(url)
request.add_header("Id",client_id)
request.add_header("Secret",client_secret)
response = urllib.request.urlopen(request)
rescode = response.getcode()
cs

 

댓글