これが私のコードです:
from selenium import webdriver
import pandas as pd
from lxml import etree
url = 'https://www.morningstar.com/stocks/xbsp/UGPA3/quote'
browser = webdriver.Chrome()
browser.get(url)
htmlpage = browser.page_source
doc = etree.HTML(htmlpage)
cap = doc.xpath(
'/html/body/div[1]/div/div/div[3]/main/div[2]/div/div/div[1]/sal-components/section/div/div/div[1]/div/div[2]/div/div/div/div[2]/ul/li[7]/div/div[2]/text()')
print(cap)
Web ページから時価総額を取得しようとしています。
htmlpage 変数をファイルに書き込んだ後、ページ全体をダウンロードしていないことが問題であることがわかりました。それは 2228 KB をダウンロードしますが、私のブラウザは 2664 KB の .html ファイルと不要なフォルダをダウンロードします。ブラウザでページを手動で保存し、そのコンテンツを etree.HTML() への入力として使用すると機能しますが、自動化したいと考えています。