4-06python语法基础-内置模块-urllib模块
官方文档:https://docs.python.org/zh-cn/3/library/urllib.request.html#module-urllib.request
urllib模块介绍:
一共是四块,
urllib.request - 打开和读取 URL。
urllib.error - 包含 urllib.request 抛出的异常。
urllib.parse - 解析 URL。
urllib.robotparser - 解析 robots.txt 文件。
基本使用
from urllib import parse
from urllib import request
from urllib import response
from urllib import error
from urllib import robotparser
# url = "https://www.baidu.com/"
url = "https://www.runoob.com/"
resp = request.urlopen(url)
# print(resp)
print(resp.status)
print(resp.getcode())
# print(resp.url)
# print(resp.headers)
# print(resp.read())
# print(resp.readlines())
getcode() ---- 效果就是status的效果,
使用 read() 函数获取网页的 HTML 实体代码。 # 这是一个二进制的
readline() - 读取文件的一行内容
readlines() - 读取文件的全部内容,它会把读取的内容赋值给一个列表变量。
URL 的编码与解码可以使用 urllib.request.quote() 与 urllib.request.unquote() 方法:
设置headers,
import urllib.request
# import urllib.parse
url = 'https://www.runoob.com/?s=' # 菜鸟教程搜索页面
keyword = 'Python 教程'
key_code = urllib.request.quote(keyword) # 对请求进行编码
url_all = url+key_code
header = {
'User-Agent':'Mozilla/5.0 (X11; Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
} #头部信息
request = urllib.request.Request(url_all,headers=header)
print(request) # 打开统一资源定位符 url,可以是一个字符串或一个 Request 对象。
reponse = urllib.request.urlopen(request).read()
快捷下载图片或者html文本
from urllib import request
imgurl = 'xxx'
request.urlretrieve(imgurl,"./myimg.jpeg")
技术改变命运