urllib

简介: 【8月更文挑战第18天】

Python 的 urllib 库是一个用于处理 URL 的强大工具,它提供了许多用于网络访问的功能。以下是 urllib 的一些基本用法和推荐代码:

  1. 发送 GET 请求
    使用 urllib.request.urlopen() 可以发送一个 GET 请求到指定的 URL 并获取响应。例如:

    import urllib.request
    
    url = 'http://www.example.com'
    response = urllib.request.urlopen(url)
    html = response.read().decode('utf-8')
    print(html)
    
  2. 发送 POST 请求
    使用 urllib.request.Request() 来创建一个 POST 请求,并通过 urllib.request.urlopen() 发送。例如:

    import urllib.request
    import urllib.parse
    
    data = {
         'key': 'value'}  # POST请求的数据
    data = urllib.parse.urlencode(data).encode('utf-8')
    url = 'http://www.example.com'
    request = urllib.request.Request(url, data=data)
    response = urllib.request.urlopen(request)
    html = response.read().decode('utf-8')
    print(html)
    
  3. 设置请求头
    为了模拟浏览器行为,可以设置请求头(User-Agent),这有助于避免一些简单的反爬虫机制。例如:

    headers = {
         
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
    }
    request = urllib.request.Request(url, headers=headers)
    response = urllib.request.urlopen(request)
    html = response.read().decode('utf-8')
    
  4. 处理请求超时
    设置超时时间可以避免无限期地等待响应。例如:

    try:
        response = urllib.request.urlopen(url, timeout=10)  # 设置超时时间为10秒
    except urllib.error.URLError as e:
        print("请求超时或错误:", e)
    
  5. 保存网页内容到文件
    获取到网页内容后,可以将其保存到本地文件。例如:

    with open('example.html', 'w', encoding='utf-8') as f:
        f.write(html)
    
  6. 处理异常
    使用 try-except 结构来捕获并处理可能发生的异常,如超时或连接错误。例如:

    try:
        response = urllib.request.urlopen(url)
    except urllib.error.HTTPError as e:
        print("HTTP 错误:", e.code, e.reason)
    except urllib.error.URLError as e:
        print("请求失败:", e.reason)
    
目录
相关文章
|
2月前
|
安全 网络安全 Python
urllib3学习笔记(一)
urllib3学习笔记(一)
|
2月前
|
JSON 数据格式 Linux
urllib3学习笔记(二)
urllib3学习笔记(二)
|
2月前
|
数据采集 前端开发 数据安全/隐私保护
使用 urllib.parse 模块优雅地处理 URL
使用 urllib.parse 模块优雅地处理 URL
49 9
|
6月前
|
数据采集 应用服务中间件 数据安全/隐私保护
Python爬虫urllib详解#3
摘要:urllib深度解析与高级用法、robots协议分析【2月更文挑战第9天】
97 1
Python爬虫urllib详解#3
|
6月前
|
安全 测试技术 API
urllib3库的介绍以及使用
`urllib3`是Python的HTTP库,支持HTTP/HTTPS,自动管理连接池,提供代理、证书配置,重定向处理等功能。其优势在于连接池管理和HTTPS支持。要安装,使用`pip install urllib3`。发起HTTP请求如`http.request('GET', 'http//example.com')`。处理响应包括状态码、头部和内容。高级功能包括连接池管理、超时和重试策略。注意线程安全、资源释放及错误处理。官方文档和相关文章可提供更多信息。
154 0
|
11月前
|
数据采集 存储
解决 urllib2 中 CookiesMiddleware 的 cookie 问题
解决 urllib2 中 CookiesMiddleware 的 cookie 问题
|
编解码 Python
urllib库(中)
urllib库(中)
50 0
|
数据采集 XML 存储
urllib模块的使用
urllib模块的使用
54 0
|
应用服务中间件 nginx Python
|
前端开发 Python
urllib的一些使用案例
urllib的一些使用案例
149 0