zoukankan      html  css  js  c++  java
  • python请求基本库使用

     高级用法

    http://cn.python-requests.org/zh_CN/latest/user/quickstart.html#url

    3.2 requests

    源码

    def request(method, url, **kwargs):
    """Constructs and sends a :class:`Request <Request>`.

    :param method: method for the new :class:`Request` object.
    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
    in the body of the :class:`Request`.
    :param data: (optional) Dictionary, list of tuples, bytes, or file-like
    object to send in the body of the :class:`Request`.
    :param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
    :param headers: (optional) Dictionary of HTTP Headers to send with the :class:`Request`.
    :param cookies: (optional) Dict or CookieJar object to send with the :class:`Request`.
    :param files: (optional) Dictionary of ``'name': file-like-objects`` (or ``{'name': file-tuple}``) for multipart encoding upload.
    ``file-tuple`` can be a 2-tuple ``('filename', fileobj)``, 3-tuple ``('filename', fileobj, 'content_type')``
    or a 4-tuple ``('filename', fileobj, 'content_type', custom_headers)``, where ``'content-type'`` is a string
    defining the content type of the given file and ``custom_headers`` a dict-like object containing additional headers
    to add for the file.
    :param auth: (optional) Auth tuple to enable Basic/Digest/Custom HTTP Auth.
    :param timeout: (optional) How many seconds to wait for the server to send data
    before giving up, as a float, or a :ref:`(connect timeout, read
    timeout) <timeouts>` tuple.
    :type timeout: float or tuple
    :param allow_redirects: (optional) Boolean. Enable/disable GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD redirection. Defaults to ``True``.
    :type allow_redirects: bool
    :param proxies: (optional) Dictionary mapping protocol to the URL of the proxy.
    :param verify: (optional) Either a boolean, in which case it controls whether we verify
    the server's TLS certificate, or a string, in which case it must be a path
    to a CA bundle to use. Defaults to ``True``.
    :param stream: (optional) if ``False``, the response content will be immediately downloaded.
    :param cert: (optional) if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response

    Usage::

    >>> import requests
    >>> req = requests.request('GET', 'https://httpbin.org/get')
    <Response [200]>
    """
    post 请求:
    def post(url, data=None, json=None, **kwargs):
    r"""Sends a POST request.

    :param url: URL for the new :class:`Request` object.
    :param data: (optional) Dictionary, list of tuples, bytes, or file-like
    object to send in the body of the :class:`Request`.
    :param json: (optional) json data to send in the body of the :class:`Request`.
    :param **kwargs: Optional arguments that ``request`` takes.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response
    """

    return request('post', url, data=data, json=json, **kwargs)

    get 请求 利用params这个参数就好了

    文件上传
    files = {'file': open('favicon.ico', 'rb')}
    r = requests.post("http://httpbin.org/post", files=files)
    print(r.text)
     
    获取Cookies的过程
    r = requests.get("https://www.baidu.com")
    print(r.cookies)
    for key, value in r.cookies.items():
        print(key + '=' + value)
     
    3.3 re
      match()方法会尝试从字符串的起始位置匹配正则表达式,如果匹配,就返回匹配成功的结果;如果不匹配,就返回None
      调用group()方法传入分组的索引即可获取提取的结果
      在网页匹配中,较为常用的有re.Sre.I
      

    修饰符

    描述

    re.I

    使匹配对大小写不敏感

    re.L

    做本地化识别(locale-aware)匹配

    re.M

    多行匹配,影响^$

    re.S

    使.匹配包括换行在内的所有字符

    re.U

    根据Unicode字符集解析字符。这个标志影响wW、 B

    re.X

    该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解

      接下来,回到网页看一下页面的真实源码。在开发者模式下的Network监听组件中查看源代码

       注意,这里不要在Elements选项卡中直接查看源码,因为那里的源码可能经过JavaScript操作而与原始请求不同,而是需要从Network选项卡部分查看原始请求得到的源码。在network下的response中查看
  • 相关阅读:
    NTFS FAT FAT32
    天才经常浏览的15个网站
    手机软件测试总结
    常见文件格式总结
    Tcp三次握手
    Http请求响应机制
    C/S测试
    软件异常测试
    跟我一起学Oracle 11g【8】SQL 基础学习2[连接查询]
    跟我一起学Oracle 11g【7】SQL 基础学习
  • 原文地址:https://www.cnblogs.com/x2x3/p/10817787.html
Copyright © 2011-2022 走看看