我正在尝试查看请求返回的响应中是否存在句子。
import requests
r = requests.get('https://www.eventbrite.co.uk/o/piers-test-16613670281')
text = 'Sorry, there are no upcoming events'
if text in r.content:
print('No Upcoming Events')
我收到以下错误:
TypeError: a bytes-like object is required, not 'str'
我不太确定为什么会发生这种情况以及解决方案是什么。
最佳答案
r.content
是一个 bytes
对象但是 text
是 str
,所以你不能做__contains__
(in
) 直接检查另一个。
您可以轻松(重新)将 text
对象定义为字节串:
text = b'Sorry, there are no upcoming events'
现在,您可以执行 if text in r.content:
。
或者您可以使用 r.text
直接获取 str
表示,并按原样使用 text
(作为 str
)。
关于python - 检查 "response.content"中的字符串引发 "TypeError: a bytes-like object is required, not ' str'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48997007/