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 Code
import urllib.request url = 'https://www.baidu.com/' response = urllib.request.urlopen(url) print(response.read().decode())

发送 POST 请求并获取响应内容

pythonCopy Code
import 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 Code
import 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 Code
import 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 的基本使用方法,我们就可以更方便地获取网络上所需的信息。