urllib|urllib 模块的基本使用

urllib 库的基本使用
(1). request : 是http请求模块, 可以用来模拟发送请求,就像在浏览器中输入网址,然后敲击回车键一样
(2). error : 异常处理模块,如出现错误,可以使用error模块来捕捉异常,然后进行重试或者其他操作,保证程序不会意外终止.
(3). parse : 这是一个工具模块,提供了许多url的处理方法,比如拆分,解析,合并等等.
url:设置目标url
data:如果设置该参数,则请求默认为post请求
timeout:用于设置超时时间,单位为秒
context:必须是一个ssl.SSLContext类型,用来指定SSL设置,忽略未认证的CA证书.
urlopen方法的使用
request.urlopen(url,req_headers)
Request:
req = request.Request()
response = request.urloopen(req)
data(默认空):是伴随 url 提交的数据(比如要post的数据),同时 HTTP 请求将从 "GET"方式 改为 "POST"方式。
headers(默认空):是一个字典,包含了需要发送的HTTP报头的键值对。
添加一个 User-Agent
req_header = {"User-Agent" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",}
添加更多的Header信息
在 HTTP Request 中加入特定的 Header,来构造一个完整的HTTP请求消息。
1. 可以通过调用Request.add_header() 添加/修改一个特定的header
2. 也可以通过调用Request.get_header()来查看已有的header。
【urllib|urllib 模块的基本使用】urlencode( ) 方法
通过urllib.urlencode()方法,将字典键值对按URL编码转换,从而能被web服务器接受。
result = urllib.parse.urlencode(word)
print(result)
通过urllib.unquote()方法,把 URL编码字符串,转换回原先字符串。
result = urllib.parse.unquote(result)
print(result)

    推荐阅读