python 中爬虫 content和text的区别

Posted 是鱼的记忆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 中爬虫 content和text的区别相关的知识,希望对你有一定的参考价值。

一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别

import requests
headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
}

url = https://www.sogou.com/web?query={}

key = input(请输入)

params = {query:key}


response = requests.get(url,params=params,headers=headers)


print(response.text)

 

结论是:text 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。

 

content返回的是bytes,二级制型的数据。

也就是说你如果想要提取文本就用text

但是如果你想要提取图片、文件,就要用到content

 

  # 1. 导入requests模块
    import requests
    # 2. 发送请求获取二进制数据(bytes)
    respone =  requests.get("http://imgsrc.baidu.com/image/c0%3Dpixel_huitu%2C0%2C0%2C294%2C40/sign=098c3f828cd6277ffd1f3a7841407a5c/3c6d55fbb2fb4316e3afd1432ba4462309f7d353.jpg")
    # 获取二进制数据; 注意: 这里不要解码, 因为图片,视频等文件都是二进制的不是文本,不需要解码
    # data = respone.content
    # 3. 把数据写入文件
    with open("壁纸.jpg", "wb") as f:
        f.write(respone.content)

 

以上是关于python 中爬虫 content和text的区别的主要内容,如果未能解决你的问题,请参考以下文章

python爬虫----XPath

爬虫中 r.text 与 r.content 的区别

python网络爬虫

python爬虫对于gb2312

求一个简易的php爬虫提取网页的title

python异步爬虫:引入+线程池实战