Bulk Website Screenshot Poster using WordPress XMLRPC

I earn my living writing content in one form or another. I write for myself, as a ghost writer or as a copywriter for blogs, websites, magazines, businesses or newspapers. One thing that’s always bothered me was the repetitive task of grabbing screenshots from websites. And especially when I am doing roundups or other lists of some kind, it is time consuming and not very funny to take 50+ screenshots of different websites for machine learning frameworks, just to give an example.

So I set out to write a few lines of Python code to help me with this very specific task. That article I linked to earlier is a great example of what this script does. Except the new version doesn’t show scrollbar on the right side since that was annoying.

The result is an unordered list ready for descriptions to make a quick and easy post of any kind using screenshots from websites. Posting to WordPress automatically using xmlrpc.php is an easy way but might not work for all hosts.

Download

I’ve also posted it all on GitHub, so head over there if you prefer.

Requirements

This has so far only been tested on Windows 7 with Python 3.5 – some modifications might need to take place in order for this to work on other systems.

Screengrabber also uses a few different dependencies:

pip install selenium
pip install python-wordpress-xmlrpc
pip install pillow
  1. Simply clone screengrabber.py and save it in a folder of your choosing.
  2. Then create a subfolder in the directory called “img”
  3. Download chromedriver.exe and place in root folder where screengrabber.py also exists
  4. Configure details in screengrabber.py

Configuration

To configure screengrabber.py line 8 and line 18 needs to modified.

  1. First you need to setup your WordPress URL, USERNAME and PASSWORD on line 8:
wp = Client('http://localhost/wordpress/xmlrpc.php', 'USERNAME', 'PASSWORD')
  1. Then go to line 18 and change:
    # CHANGE THIS VARIABLE TO YOUR CORRECT SYSTEM FOLDER BUT DONT CHANGE THE LAST BIT
    imagelocation = "C:/CHANGE/THIS/PATH/img/%s.jpg" %idx

Important: Do not change the last bit containing %s.jpg" %idx

  1. All done! Run the script by using your command line or create a .BAT file
python screengrabber.py