Python urllib 访问网络数据实战指南
Python urllib 访问网络数据实战指南
什么是 urllib?
urllib 是 Python 内置模块,简化 URL 打开与网络资源处理。提供函数和类获取、解析、处理 URL,让开发者直接从互联网检索 XML、HTML、JSON 等数据格式。
本教程演示如何使用 urllib:
- 打开 URL 并检查 HTTP 响应码。
- 读取网页完整 HTML 内容。
使用 urllib 打开 URL
执行网络请求前,导入相应 urllib 模块:
import urllib.request # Python 3
# import urllib2 # Python 2 (新版本已弃用)
定义主流程,指定目标 URL,用 urlopen() 打开连接。以 Guru99 YouTube 频道为例:
def main():
url = urllib.request.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(url.getcode()))
data = url.read()
print(data.decode('utf-8'))
if __name__ == "__main__":
main()
getcode() 返回 HTTP 状态码(如 200 表示成功)。read() 获取页面原始字节,解码为 UTF-8 以便阅读。
读取 HTML 内容
打开 URL 后,调用 read() 即可提取 HTML。返回字节代表整个 HTML 文档,可用 BeautifulSoup 等库解析或直接显示。
下图为控制台解码后的 HTML 输出示例:

完整代码示例
以下提供 Python 2 和 Python 3 完整脚本供参考。
Python 2 示例
import urllib2
def main():
web_url = urllib2.urlopen("https://www.youtube.com/user/guru99com")
print("result code: " + str(web_url.getcode()))
data = web_url.read()
print(data)
if __name__ == "__main__":
main()
Python 3 示例
import urllib.request
web_url = urllib.request.urlopen('https://www.youtube.com/user/guru99com')
print('result code: ' + str(web_url.getcode()))
print(web_url.read().decode('utf-8'))
Python