• python爬虫04 Requests


    接下来我们要来玩一个新的库

     

    这个库的名称叫做

     

    Requests

     

    这个库比我们上次说的 urllib 可是要牛逼一丢丢的

     

    毕竟 Requests 是在 urllib 的基础上搞出来的

     

    通过它我们可以用更少的代码

     

    模拟浏览器操作

    kr

     

    对于不是 python 的内置库

     

    我们需要安装一下

     

    直接使用 pip 安装

     

    pip install requests

     

    安装完后就可以使用了

     

    接下来就来感受一下 requests 吧

     

    导入 requests 模块

    import requests
    #一行代码get请求
    #r=requests.get('https://api.github.com/events')
    #r=requests.get('https://http://www.baidu.com')
    r=requests.get('http://biihu.cc//account/ajax/login_process/')

    #一行代码Post请求
    r=requests.get("https://api.github.com/events",data={'key':'value'}
    )
    #其它乱七八槽的HTTP请求
    r=requests.put('https://httphin.org/put',data={'key':'value'})
    r=requests.delete('https://httpbin.org/delete')
    r=requests.head('https://httpbin.org/get')
    r=requests.options('https://httpbin.org/get')

    payload={'key1':'value1','key2':'value2'}
    r=requests.get('https://httpbin.org/get',params=payload)

    url='https://api.github.com/some/endpoint'
    headers={'user-agent':'my-app/0.0.1'}
    r=requests.get(url,headers=headers)

    #获取服务器响应文本内容
    import requests
    r=requests.get('https://api.github.com/events')
    r.text
    r.encoding

    #获取字节响应内容
    r.content

    #获取响应码
    r=requests.get('https://httpbin.org/get')
    r.status_code

    #获取响应头
    r.headers

    #获取Json响应内容
    import requests
    r=requests.get('https://api.github.com/events')
    r.json()

    #获取socket流响应内容
    r=requests.get('https://api.github.com/events', stream=True)
    r.raw

    r.raw.read(10)

    #Post请求,当你想要一个键里面添加多个值的时候
    payload_tuples = [('key1', 'value1'), ('key1', 'value2')]
    r1 = requests.post('https://httpbin.org/post', data=payload_tuples)
    payload_dict = {'key1': ['value1', 'value2']}
    r2 = requests.post('https://httpbin.org/post', data=payload_dict)
    print(r1.text)
    r1.text == r2.text

    #请求的时候用json作为参数
    url='https://api.github.com/some/endpoint'
    payload={'some':'data'}
    r=requests.post(url,json=payload)
    r.text
    #获取cookie信息
    url='http://example.com/some/cookie/setting/url'
    r=requests.get(url)
    r.cookies['example_cookie_name']
    #发送信息
    url='https://httpbin.org/cookies'

    cookies=dict(cookies_are='working')
    r=requests.get(url,cookies=cookies)
    r.text



    #设置超时
    requests.get('https://github.com/',timeout=0.001)



     

  • 相关阅读:
    zoj 3644 Kitty's Game
    Planets
    hdoj 2571 命运
    (理论篇)IOC概述和Unity的使用
    重温设计模式之单例模式
    重温设计模式之观察者
    重温设计模式之装饰者
    (理论篇)PetShop全概述
    (理论篇)petshop中缓存运用之我见
    (理论篇)cookie,session,viewstate,cache
  • 原文地址:https://www.cnblogs.com/hrnn/p/13306559.html
Copyright © 2020-2023  润新知