zoukankan      html  css  js  c++  java
  • python:requests模块

    requests模块是我在学习爬虫时学到的一个模块,它的api比较简单好用,这里简介下使用方法。

    其实这个很好使用,几行代码就可以获取一个网页的内容:

    import requests
    
    url = 'http://www.juzimi.com/ju/252304'
    
    response = requests.get(url)
    
    print (response.text)

    它支持很多http请求类型:getpostputdeleteheadoptions

    其中获取的响应内容有2中显示方法

    .content  以字节的方式显示,中文显示为字符

    .text     以文本的方式显示,放两张图就能明白了

    这是content

     

    这是text

     

    Requests 会自动解码来自服务器的内容。大多数 unicode 字符集都能被无缝地解码。

    可以通过.encoding 查看requests使用了什么编码

    也可以手动改变其使用的编码r.encoding= ‘gbk2312’

    Get请求可以传递参数

    import requests
    
    url = 'http://www.juzimi.com/article/33125'
    
    payload = {'page':'1'}
    
    response = requests.get(url,params=payload)
    
    print (response.text)

    可以打印.url,查看构造后的url

     

    定制请求头部

    传一个dictheads参数

    headers = {'user-agent': 'my-app/0.0.1'}

    r = requests.get(url, headers=headers)

    发送post请求

    payload = {'key1': 'value1', 'key2': 'value2'}

    r = requests.post("http://httpbin.org/post", data=payload)

    get方法还有一个cookies参数

    timeout参数

    访问代理

    proxies = {
    
               "http": "http://10.10.10.10:8888",
    
               "https": "http://10.10.10.100:4444",
    
              }
    
    r = requests.get('http://m.ctrip.com', proxies=proxies)

     

  • 相关阅读:
    微信支付的安全漏洞之XXE
    IP地址分类(A类 B类 C类 D类 E类)
    MySql新增表的字段,删除表字段
    Java基础之中间件的初识
    Java基础之IO框架
    微信H5支付坑一--手续费未结算
    设计模式之简单工厂模式
    nginx负载均衡的5种策略(转载)
    Mybatis注意点之#与$区别
    RSF 分布式 RPC 服务框架的分层设计
  • 原文地址:https://www.cnblogs.com/GH-D/p/8306649.html
Copyright © 2011-2022 走看看