Skip to content

Instantly share code, notes, and snippets.

@mfr
Last active March 29, 2022 16:21
Show Gist options
  • Save mfr/fb35455566c589d75ef40ccd965bbc32 to your computer and use it in GitHub Desktop.
Save mfr/fb35455566c589d75ef40ccd965bbc32 to your computer and use it in GitHub Desktop.
from selenium import webdriver
from time import sleep
from selenium.webdriver.chrome.options import Options
url = 'https://online.flippingbook.com/view/315002/2/'
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--start-maximized')
chrome_options.add_argument("--window-size=4000,2040")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get(url)
sleep(5)
driver.find_element_by_xpath("//span[contains(@class, 'close-button')]").click()
driver.find_element_by_xpath("//button[@title='Fullscreen']").click()
sleep(2)
for i in range(150):
script='[...document.getElementsByClassName("gradient-light")].forEach((element, index, array) => {element.classList.remove("gradient-light")});'
driver.execute_script(script)
el = driver.find_element_by_id('book')
el.screenshot("page_%03.d.png" % i)
driver.find_element_by_xpath("//button[@title='Next Page']").click()
sleep(5)
driver.quit()
@mfr
Copy link
Author

mfr commented Mar 29, 2022

Then, reduce file size
pngquant -f --ext .png **/*.png

Split page to two files
convert page*.png -crop 50%x100% +repage book_%03d.png

Create PDF
convert book_*.png m.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment