美文网首页想法简友广场
python中不同方式打开网页的获取数据类型

python中不同方式打开网页的获取数据类型

作者: 刘年 | 来源:发表于2020-03-15 22:38 被阅读0次

    1、requests类

    requests类默认的.text是字符串格式,并且已经默认了编码格式,改变编码则是.content.decode(''),即先得到bytes类,再编码转为字符串

    import requests
    resp =requests.get("https://www.baidu.com")
    print(type(resp.content))
    print(type(resp.text))
    print(type(resp.content.decode('utf-8')))
    print(type(resp.text.encode('utf-8')))
    

    结果

    <class 'bytes'>
    <class 'str'>
    <class 'str'>
    <class 'bytes'>
    

    2、urlrequest类

    urlrequest类一定要用read()表示网页内容,并且是一个bytes类。

    from urllib import request
    resp =request.urlopen("https://www.baidu.com")
    print(type(resp.read()))
    print(type(resp.read().decode('utf-8')))
    
    <class 'bytes'>
    <class 'str'>
    

    3、selenium方式打开

    from selenium import webdriver
    import time
    driver = webdriver.Firefox()
    driver.get("https://www.baidu.com")
    print(type(driver.page_source.encode('utf-8')))
    print(type(driver.page_source.encode('utf-8').decode('utf-8')))
    print(type(driver.page_source))
    
    <class 'bytes'>
    <class 'str'>
    <class 'str'>
    

    4、总结

    注意区分各种形式打开网页得到数据的方法和类型
    并且注意str和bytes类型之间的变化
    str------encode()-----bytes
    bytes------decode()-------str

    相关文章

      网友评论

        本文标题:python中不同方式打开网页的获取数据类型

        本文链接:https://www.haomeiwen.com/subject/qndiehtx.html