import requests
import requests
session = requests.Session()
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit 537.36 (KHTML, like Gecko) Chrome",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
}
url = "https://www.nature.com/search?q=gold+nanoparticle+synthesis&page=1"
html = session.get(url, headers=headers).content
print(url)
soup = BeautifulSoup(html, 'html.parser')
import urllib
import urllib.request as req
from fake_useragent import UserAgent
# make a header information
opener = req.build_opener()
# User-Agent record information
opener.addheaders = [('User-agent', UserAgent().ie)]
# header information
req.install_opener(opener)
res=req.urlopen(url)
print(res)
soup = BeautifulSoup(res, 'html.parser')
두 module의 차이점은 단 하나, urllib으로 했을 때는 되지 않았고, requests 로 했을 때는 잘 됬다.
두 모듈의 workflow는 같다. requests, urllib 모두 header를 붙일 수 있고, url을 입력한 후, html을 가져오는 방식이다.
즉, 이 module을 했을 때, access 할 수도 있고, access 못할 수도 있고 여러가지 차이점이 존재한다.
하지만, requests가 조금 더 new version이기에, 나는 requests를 더 선호한다.
하지만, 정답은 없다. requests와 urllib는 여러번 해보고, 잘 되는 module을 쓰면 그만이다.
requests 모듈에 대한 블로그 정리글이다.
'대학원 공부 > programming language' 카테고리의 다른 글
Python : raise (0) | 2020.04.21 |
---|---|
Python : inheritance, 상속 : 부모 class 자식 class (0) | 2020.04.21 |
Python : Selenium의 Webdriver (0) | 2020.04.21 |
Numpy : np.linalg.svd (SVD) (0) | 2020.03.12 |
Python : module, package, library, framework (0) | 2020.03.11 |
댓글