Skip to content

Instantly share code, notes, and snippets.

@gteissier
Created April 26, 2019 07:28
Show Gist options
  • Save gteissier/acff20a3d3ef8d71574da5c4468b2652 to your computer and use it in GitHub Desktop.
Save gteissier/acff20a3d3ef8d71574da5c4468b2652 to your computer and use it in GitHub Desktop.
Take web screenshots
#!/usr/bin/env python
from selenium import webdriver
import selenium
import sys
import re
def take_screenshot(url, png):
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome(chrome_options=options)
driver.set_page_load_timeout(10)
driver.set_window_size(1024, 768)
driver.get(url)
driver.save_screenshot(png)
driver.quit()
urls = sys.stdin.read().split('\n')
n_urls = len(urls)
for i in range(n_urls):
url = urls[i]
url = url.rstrip('\n')
if not url: continue
m = re.search(r'//(.*)/', url)
assert(m)
png = 'pngs/%s.png' % m.group(1)
try:
take_screenshot(url, png)
except:
pass
sys.stdout.write('\r %2.2f%% %30s' % ((100.0*i)/n_urls, url))
sys.stdout.flush()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment