Я довольно новичок в питоне и программировании в целом. В настоящее время я работаю над сценарием, чтобы скопировать котировки акций из финансов Google. Вот мой код:Google скребок Google
import urllib.request as ur
import re
def getquote(symbol):
base_url = 'http://finance.google.com/finance?q='
content = ur.urlopen(base_url + symbol).read()
m = re.search(b'id="ref_(.*?)">(.*?)<', content)
if m:
quote = m.group(2)
else:
quote = 'no quote available for: ' + symbol
return quote
, которая возвращает:
b'655.65'
(655,65 является текущей ценой Google запаса, который является символом я прошел в)
Мой вопрос: существует ли путь для меня, чтобы скраб возвращение, так что я просто получить цену без b или котировки? В идеале я бы хотел, чтобы он возвращался как float, но при необходимости я могу вернуть его как строку и преобразовать его в float, когда мне это нужно позже.
Я ссылаюсь эти другие сообщения:
How to create a stock quote fetching app in python
How to convert between bytes and strings in Python 3?
Convert bytes to a Python string
Возможно, я что-то пропустил в одном из тех, но я верю, я попробовал все, что мог найти, и все еще ret urning в формате, показанном выше.
решаемых Проблемы у меня был не отображать строку без кавычек, это было то, что я имел значение, установленное в бай буквальную, что необходимо, чтобы сначала быть преобразовано в строку буквальной, а затем к поплавку. Я пробовал это, но я пробовал это за пределами инструкции if (noob move). решение было предложено как v1k45: добавить строку в оператор if quote = float (quote.decode ('utf-8')) , чтобы декодировать его и преобразовать в float.
благодарит за помощь!
Возможный дубликат [Python return without "'] (http://stackoverflow.com/questions/1482649/python-return-without) –