Pythonでブラウザを操作し特定のリンクをクリックする
SeleniumとChromeを利用することでブラウザの操作が可能なので試してみた
で検索すると一番に出てきたこの記事がまとまっていて非常に便利だった
試しにこのブログのトップページにアクセスして最新の投稿に遷移をして更新時間を取得してみる
import time from selenium import webdriver from selenium.webdriver.chrome.options import Options # ヘッドレスモードでChromeを起動 options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') options.add_argument('--disable-dev-shm-usage') driver = webdriver.Chrome('chromedriver',options=options) # トップページにアクセス driver.get('https://remoter.hatenablog.com/') time.sleep(1) # 試しに記事へのリンクのhrefを出力してみる for link in driver.find_elements_by_class_name("entry-title-link"): print(link.get_attribute('href')) # 最初の記事のリンクをクリック link = driver.find_elements_by_class_name("entry-title-link")[0] link.click() time.sleep(1) # 投稿日時を取得して表示 time = driver.find_elements_by_css_selector('.entry-footer-time time')[0] print(time.get_attribute('datetime')) driver.quit()
Colaboratoryで動かす場合には最初に以下のコマンドを実行して chromium-chromedriver と selenimuをインストールする必要があります
!apt-get update !apt install chromium-chromedriver !cp /usr/lib/chromium-browser/chromedriver /usr/bin !pip install selenium