Учитывая тикер или название компании, я хотел бы получить ее сектор с помощью python.
Я пробовал уже несколько потенциальных решений, но ни одно из них не сработало.
Двумя наиболее перспективными являются:
1) Используя скрипт из: https://gist.github.com/pratapvardhan/9b57634d57f21cf3874c
from urllib import urlopen
from lxml.html import parse
'''
Returns a tuple (Sector, Indistry)
Usage: GFinSectorIndustry('IBM')
'''
def GFinSectorIndustry(name):
tree = parse(urlopen('http://www.google.com/finance?&q='+name))
return tree.xpath("//a[@id='sector']")[0].text, tree.xpath("//a[@id='sector']")[0].getnext().text
Однако я использую python --version 3.8
Я смог настроить это решение, но последняя строка не работает, и я совершенно новичок в очистке веб-страниц, поэтому я был бы признателен, если бы у кого-нибудь были какие-то предложения.
Вот мой текущий код:
from urllib.request import Request, urlopen
from lxml.html import parse
name="IBM"
req = Request('http://www.google.com/finance?&q='+name, headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req)
tree = parse(webpage)
Но тогда последняя часть не работает, и я очень новичок в этом синтаксисе xpath
:
tree.xpath("//a[@id='sector']")[0].text, tree.xpath("//a[@id='sector']")[0].getnext().text
2) Другим вариантом было встраивание пакета TTN
R
, как показано здесь: акции принадлежат
Тем не менее, я хочу запустить его в своем блокноте Jupyter, а для запуска требуется много времени ss <- stockSymbols()
a
,id
которого является сектором, скажем, на www. google.com/search?q=MSFT. У вас есть конкретный пример того, что вы действительно хотите получить? Если да, то обогатите свой вопрос такой точностью. - person keepAlive   schedule 17.06.2020