我做了一個Python腳本來從雅虎財經獲得最新的股票價格。如何在python中使用re.findall()時顯示正確的輸出?
import urllib.request
import re
htmlfile = urllib.request.urlopen("http://finance.yahoo.com/q?s=GOOG");
htmltext = htmlfile.read();
price = re.findall(b'<span id="yfs_l84_goog">(.+?)</span>',htmltext);
print(price);
工作平穩,但是當我輸出的價格它出來像這樣[b'1,217.04']
這可能是一個小問題要問,但我是新來的Python腳本,所以請,如果你能幫助我。
我想擺脫'b'。如果我從b'<span id="yfs_l84_goog">"
中刪除'b',則會顯示此錯誤。
File "C:\Python33\lib\re.py", line 201, in findall
return _compile(pattern, flags).findall(string)
TypeError: can't use a string pattern on a bytes-like object
我所要的輸出只是
1,217.04
它使用item.decode()很好用,它將字節轉換爲字符串嗎? –
@SaurabhRana:是的。 'some_bytes.decode(character_encoding)== some_unicode_text' – jfs