python - Python需要一个类似字节的对象,而不是'str'错误
问题描述
我正在尝试编写一个基本的 python 程序,该程序从 yahoo Finance 的网站获取价格与账面比。但是,我收到一个错误:
failed in the main loop a bytes-like object is required, not 'str'
我已经尝试在这一行中使用编码:
sourceCode.read().decode('utf-8')
然而,这会导致另一个错误:
failed in the main loop 'bytes' object has no attribute 'read'
任何帮助,将不胜感激。完整代码如下:
import time
import urllib.request
from urllib.request import urlopen
stocks = ['aapl', 'fb', 'goog']
def keyStats(stock):
try:
sourceCode = urllib.request.urlopen('https://finance.yahoo.com/quote/' + stock + '/key-statistics?p=' + stock).read()
ptb = sourceCode.split('Price/Book</span><!-- react-text: 58 --> <!-- /react-text --><!-- react-text: 59 -->(mrq)<!-- /react-text --><sup aria-label="KS_HELP_SUP_undefined" data-reactid="60"></sup></td><td class="Fz(s) Fw(500) Ta(end)" data-reactid="61">')[1].split('</td>')[0]
print ('Price to Book Ratio: ', stock, ptb)
except (Exception) as e:
print ('failed in the main loop', e)
for newStock in stocks:
keyStats(newStock)
time.sleep(1)
解决方案
推荐阅读
- mongodb - 由于 Invariant failure rs.get() src/mongo/db/catalog/database.cpp,MongoDB 修复失败
- python - 元素点击拦截硒进行自动化
- rust - UDP 服务器示例如何安全?
- python - 将带有二进制列的 pandas 数据帧转换为更紧凑的表示
- django - 如何从详细视图中检查相关对象的状态?
- angular - Angular 总是将请求匹配到第一个定义的路由
- dataframe - 在 Spark 2.2 数据框中查询数据时出错
- kubernetes - 获取 keyvaultClient 失败:获取密钥保管库令牌失败
- python - 为所有对角线创建一个 NxN 数组
- java - 较新的 PDFBox 版本加载 PDF 缓慢