Учитывая компанию тикер или название, я хотел бы получить его сектор , используя 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()