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")
posted @ 2021-09-11 22:40  技术改变命运Andy  阅读(29)  评论(0编辑  收藏  举报