首页 > 编程语言 >python-标准库urllib模块的使用

python-标准库urllib模块的使用

时间:2023-01-13 10:35:29浏览次数:49  
标签:读取 python res request urllib URL 模块 data

python-标准库urllib模块

1. python标准库urllib模块

  • urllib库用于访问URL。

  • urllib包含以下类:

    • urllib.request打开和读取URL

    • urllib.error包含urllib.request抛出的异常

    • urllib.parse用于解析URL

    • urllib.robotparser用于解析robots.txt文件

  • 用的最多是urllib.request 类,它定义了适用于在各种复杂情况下打开URL,例如基本认证、重定向、Cookie、代理等。

  • urllib的request方法

    from urllib import request
    res = request.urlopen("http://www.ctnrs.com")
    

    res是一个HTTPResponse类型的对象,包含以下方法和属性:

    方法 描述
    getcode() 获取响应的HTTP状态码
    geturl() 返回真实URL。有可能URL3xx跳转,那么这个将获得跳转后的URL
    headers 返回服务器header信息
    read(size=-1) 返回网页所有内容。size正整数指定读取多少字节
    readline(limit=-1) 读取下一行。size正整数指定读取多少字节
    readlines(hint=0, /) 列表形式返回网页所有内容,以列表形式返回。sizehint正整数指定读取多少字节
  • 示例

    • 示例1、自定义用户代理

      from urllib import request
      url = "http://www.ctnrs.com"
      user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
      header = {"User-Agent": user_agent}
      req = request.Request(url, headers=header)
      res = request.urlopen(req)
      print(res.getcode())
      
    • 示例2、向接口提交用户数据

      from urllib import request, parse
      url = "http://www.ctnrs.com/login"
      post_data = {"username":"user1","password":"123456"}
      post_data = parse.urlencode(post_data).encode("utf8") #将字典转为URL查询字符串格式,并转为bytes类型
      req = request.Request(url, data=post_data, headers=header)
      res = request.urlopen(req)
      print(res.read())
      

标签:读取,python,res,request,urllib,URL,模块,data
From: https://www.cnblogs.com/scajy/p/17048767.html

相关文章

  • python-标准库datetime模块的使用
    python-标准库datetime模块1.python-标准库datetime模块datetime库用于处理更复杂的日期和时间。提供以下几个类:方法描述datetime.date日期,年月日组成......
  • python-pymysql-基本使用
    python-pymysql-基本使用1.pymysql-基本使用创建表[root@pythontmp]#mysql-h127.0.0.1-utest-p'Test@963852'WelcometotheMariaDBmonitor.Comma......
  • python-pymysql安装和数据库安装
    python-pymysql安装和数据库安装1.pymysql安装安装python连接数据库pymysql模块[root@python~]#pip3installPyMySQlLookinginindexes:http://mirror......
  • python-pymysql模块介绍
    python-pymysql模块介绍1.pymysql模块介绍pymysql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。pymysql......
  • python pymysql-增删改查
    pymysql-增删改查1.pymysql-增删改查#!/usr/bin/envpython3#_*_coding:utf-8_*_#Author:shichao#File:.pyimportpymysqlconn=pymysql.connect(host='1......
  • python pymysql-参数使用
    pymysql-参数使用1.pymysql-参数使用connect()函数常用参数:方法描述host数据库主机地址user数据库账户passwd账户密码db使用的数据库port......
  • python-标准库os模块的使用
    python-标准库os模块的使用1.标准库osos库主要对目标和文件操作。方法描述os.name返回操作系统类型os.environ以字典形式返回系统变量os.putenv(ke......
  • python-标准库platform模块的使用
    python-标准库platform模块1.python-标准库platform模块platform库用于获取操作系统详细信息。方法描述platform.platform()返回操作系统平台platform.......
  • python-标准库sys模块的使用
    python-标准库sys模块的使用1.python-标准库sys模块sys库用于与Python解释器交互。方法描述sys.argv从程序外部传递参数argv[0]#代表本身名字argv[1]#第......
  • python-标准库random模块的使用
    python-标准库random模块1.python-标准库random模块random库用于生成随机数。方法描述random.randint(a,b)随机返回整数a和b范围内数字random.random()......