Reptile_urllib的底层原理
一.介绍
当你获取一个URL你使用一个opener(一个urllib.OpenerDirector的 实例)。在前面,我们都是使用的默认的opener,也就是urlopen。 它是一个特殊的opener,可以理解成opener的一个特殊实例,传 入的参数仅仅是url,data,timeout。
如果我们需要用到Cookie,只用这个opener是不能达到目的的,所 以我们需要创建更一般的opener来实现对Cookie的设置。
二.实例
from urllib.request import Request,build_opener,urlopen,HTTPHandler
from fake_useragent import UserAgent
url = "http://www.httpbin.org/get"
headers = {'User-Agent':UserAgent().chrome}
req = Request(url=url,headers=headers)
handler = HTTPHandler(debuglevel=1)
opener = build_opener(handler)
rsp = opener.open(req)
print(rsp.read().decode())