Python3 urllib 学习笔记
简介
Python3 中的 urllib 是一个 URL 处理模块,支持 HTTP、HTTPS、FTP 等协议。它可以用来获取网页内容、提交表单、发送 POST/GET 请求等功能。
模块组成
urllib 模块主要由以下几个子模块组成:
- urllib.request:用于打开和读取 URLs
- urllib.error:包含 urllib.request 中遇到的异常
- urllib.parse:用于解析 URLs
- urllib.robotparser:用于解析 robots.txt 文件
使用示例
发送 GET 请求并获取响应内容
pythonCopy Codeimport urllib.request
url = 'https://www.baidu.com/'
response = urllib.request.urlopen(url)
print(response.read().decode())
发送 POST 请求并获取响应内容
pythonCopy Codeimport urllib.parse
import urllib.request
url = 'http://httpbin.org/post'
data = urllib.parse.urlencode({'key1': 'value1', 'key2': 'value2'}).encode()
response = urllib.request.urlopen(url, data=data)
print(response.read().decode())
设置请求头并发送请求
pythonCopy Codeimport urllib.request
url = 'http://httpbin.org/get'
headers = {'User-Agent': 'Mozilla/5.0'}
req = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(req)
print(response.read().decode())
从网页中解析出链接
pythonCopy Codeimport urllib.request
import re
url = 'https://www.baidu.com/'
response = urllib.request.urlopen(url)
html = response.read().decode()
links = re.findall('"((http|ftp)s?://.*?)"', html)
print(links)
总结
urllib 是一个强大且易于使用的 Python 模块,可以用来处理URL、进行网页爬取等操作。学会了 urllib 的基本使用方法,我们就可以更方便地获取网络上所需的信息。