aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)相关的知识,希望对你有一定的参考价值。

aiohttp.client_exceptions

问题

   # 获取异步requests
    async with aiohttp.ClientSession() as session:
        async with session.post(url, headers=headers, data=data) as resp:
            # 写入数据
            csvWriter.writerow(await resp.json())  # 读取内容是异步的,需要挂起
            print('库编号', data['p'], '爬取完毕!')
from aiohttp_requests import requests
 
async def req(URL):
    headers = {"Accept": 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        "Accept-Language": "zh-CN,zh;q=0.9", "Host": "xin.baidu.com",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36", }
    resp = await requests.get(URL,headers=headers,timeout=10,verify_ssl=False)
    resp_text = await resp.json(encoding='utf-8')
    return resp_text
 
if __name__ == "__main__":
    print("HELLO WORLD")
    URL = "https://xin.baidu.com/detail/basicAjax?pid=xlTM-TogKuTw9PzC-u6VwZxUBuZ5J7WMewmd"
    loop = asyncio.get_event_loop()
    loop.run_until_complete(req(URL))

csvWriter.writerow(await resp.json())

运行上面的程序会报错

在这里插入图片描述

解决

ContentTypeError:类型错误

resp.json():传入编码文本类型参数即可:

resp.json(content_type='text/html',encoding='utf-8')

参考Link

衷心感谢!

以上是关于aiohttp.client_exceptions.ContentTypeError: 0:json(content_type=‘??‘)的主要内容,如果未能解决你的问题,请参考以下文章

aiohttp.client_exceptions.ClientConnectorError:无法连接到主机***.com:443 ssl:默认[连接调用失败('151.101.193.69',443

证书验证错误 1123 discord.py