Chrome
Selenium
python3
beautifulsoup4

Python3 + Selenium + BeautifulSoup4 - Chromeドライバを利用した実装例

Python3でSeleniumのChromeドライバを利用したBeautifulSoupの作成例。
JavaScriptによる動的コンテンツのパースも可能だが、あまりテストしていない。

from bs4 import BeautifulSoup                                                     
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def create_soup(url, timeout=30):
    """
    urlのコンテンツからBeautifulSoupを作成する。
    @return {BeautifulSoup}
    """
    options = Options()
    options.add_argument('--headless')
    options.add_argument('--disable-gpu')

    driver = webdriver.Chrome(chrome_options=options)
    driver.set_page_load_timeout(timeout)

    driver.get(url)
    src = driver.page_source
    driver.close()

    return BeautifulSoup(src, 'html.parser')

if __name__ == '__main__':
    soup = create_soup('http://localhost')
    print(soup)

参照

TODO