diff --git a/finviz/main_func.py b/finviz/main_func.py index a39596e..320b13d 100644 --- a/finviz/main_func.py +++ b/finviz/main_func.py @@ -32,13 +32,19 @@ def get_stock(ticker): get_page(ticker) page_parsed = STOCK_PAGE[ticker] - title = page_parsed.cssselect('table[class="fullview-title"]')[0] - keys = ["Ticker","Company", "Sector", "Industry", "Country"] - fields = [f.text_content() for f in title.cssselect('a[class="tab-link"]')] - data = dict(zip(keys, fields)) - - company_link = title.cssselect('a[class="tab-link"]')[0].attrib["href"] + title = page_parsed.cssselect('div[class="fv-container py-2.5"]')[0] + data = {} + data["Ticker"] = title.cssselect('h1[class="js-recent-quote-ticker quote-header_ticker-wrapper_ticker"]')[0].text_content().strip() + try: + company_details = title.cssselect('h2[class="quote-header_ticker-wrapper_company text-xl"]')[0] + except IndexError: + company_details = title.cssselect('h2[class="quote-header_ticker-wrapper_company"]')[0] + data["Company"] = company_details.text_content().strip() + company_link = company_details.cssselect('a[class="tab-link block truncate"]')[0].attrib["href"] data["Website"] = company_link if company_link.startswith("http") else None + keys = ["Sector", "Industry", "Country", "Exchange"] + fields = [f.text_content() for f in title.cssselect('a[class="tab-link"]')] + data.update(dict(zip(keys, fields))) all_rows = [ row.xpath("td//text()")