zoukankan      html  css  js  c++  java
  • request补充和bs4的五种过滤器

    reques补充

    Response的属性

    响应状态码(*******)
    print(response.status_code)
    
    响应文本(*******)
    print(response.text)
    
    响应的cookies(*******)  注意: 有些网站可以直接传入cookies=cookies对象,有些需要先转换成dict类型
    print(type(response.cookies))
    将cookies对象转成dict类型
    print(type(response.cookies.get_dict()))
    print(type(response.cookies.items()))
    
    
    response = requests.get('https://www.baidu.com', headers=headers)
    print(response.text)
    响应编码格式(*******)
    print(response.encoding)
    解决字符编码不对应导致的数据展示错乱问题
    response.encoding = 'utf-8'
    print(response.encoding)
    print(response.text)
    
    
    返回的二进制数据(*******)
    一般用于爬取图片、视频、音频
    print(response.content)
    
    获取当前网站的url地址
    print(response.url)
    
    
    
    获取网站返回的json数据
    print(response.json())
    import json
    
    response = requests.get('https://landing.toutiao.com/api/pc/realtime_news/')
    print(response.status_code)
    # print(response.text)
    # print(json.loads(response.text))
    print(response.json())
    
    
    获取图片二进制流数据,并且保存到本地
    response = requests.get('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1577767718263&di=76c4eba6804809f537fbafb2e080414b&imgtype=0&src=http%3A%2F%2Fpic1.win4000.com%2Fpic%2F7%2F84%2F183b392788.jpg')
    print(response.status_code)
    
    # 注意: 二进制数据有可能会很大
    print(response.content)
    
    with open('小泽3.jpg', 'wb') as f:
        # f.write(response.content)
        # iter_content: 将二进制数据装进一个迭代器中
        for line in response.iter_content():
            f.write(line)
    

    bs4五种过滤器

    - 字符串过滤器   字符串全局匹配
                - name = 'p'
                name 属性匹配
                attrs 属性查找匹配
                text 文本匹配
    
            - 正则过滤器
    
                re模块匹配
                - name = re.compile()
                name 属性匹配
                attrs 属性查找匹配
                text 文本匹配
    
            - 列表过滤器
                列表内的数据匹配
    
                - name = ['tank', 100]
                name 属性匹配
                attrs 属性查找匹配
                text 文本匹配
    
            - bool过滤器
                True匹配
                - name = True
                name 属性匹配
                attrs 属性查找匹配
                text 文本匹配
    
            - 方法过滤器
                用于一些要的属性以及不需要的属性查找。
                - name = func()
                name 属性匹配
                attrs 属性查找匹配
                text 文本匹配
    
  • 相关阅读:
    Kafka-1
    消息队列
    分布式分类
    认识分布式
    数据库引擎
    Django插入多条数据—bulk_create
    Django中update和save()同时作用
    联合唯一去重的SQL
    Direct3D11学习:(三)Direct3D11初始化
    Direct3D11学习:(零)常见问题及解决方法整理
  • 原文地址:https://www.cnblogs.com/chanyuli/p/12134773.html
Copyright © 2011-2022 走看看