Splash - A javascript rendering service¶
Splash is a javascript rendering service. It’s a lightweight web browser with an HTTP API, implemented in Python 3 using Twisted and QT5. The (twisted) QT reactor is used to make the service fully asynchronous allowing to take advantage of webkit concurrency via QT main loop. Some of Splash features:
- process multiple webpages in parallel;
- get HTML results and/or take screenshots;
- turn OFF images or use Adblock Plus rules to make rendering faster;
- execute custom JavaScript in page context;
- write Lua browsing scripts;
- develop Splash Lua scripts in Splash-Jupyter Notebooks.
- get detailed rendering info in HAR format.
Documentation¶
- Installation
- Splash HTTP API
- Splash Scripts Tutorial
- Splash Lua API Overview
- Splash Scripts Reference
- Response Object
- Request Object
- Element Object
- Working with Binary Data
- Available Lua Libraries
- Splash and Jupyter
- FAQ
- How to send requests to Splash HTTP API?
- I’m getting lots of 504 Timeout errors, please help!
- How to run Splash in production?
- Website is not rendered correctly
- Splash crashes
- How do I disable Private mode?
- Why was Splash created in the first place?
- Why are CSS styling and images missing from the .har archive?
- Why does Splash use Lua for scripting, not Python or JavaScript?
render.html
result looks broken in a browser
- Contributing to Splash
- Implementation Details
- Changes
- 3.4.1 (2019-01-09)
- 3.4 (2019-10-25)
- 3.3.1 (2019-02-21)
- 3.3 (2019-02-06)
- 3.2 (2018-02-15)
- 3.1 (2018-01-31)
- 3.0 (2017-07-06)
- 2.3.3 (2017-06-07)
- 2.3.2 (2017-03-03)
- 2.3.1 (2017-01-24)
- 2.3 (2016-12-01)
- 2.2.2 (2016-11-10)
- 2.2.1 (2016-10-17)
- 2.2 (2016-09-10)
- 2.1 (2016-04-20)
- 2.0.3 (2016-03-04)
- 2.0.2 (2016-02-26)
- 2.0.1 (2016-02-25)
- 2.0 (2016-02-21)
- 1.8 (2015-09-29)
- 1.7 (2015-08-06)
- 1.6 (2015-05-15)
- 1.5 (2015-03-03)
- 1.4 (2015-02-10)
- 1.3.1 (2014-12-13)
- 1.3 (2014-12-04)
- 1.2.1 (2014-10-16)
- 1.2 (2014-10-14)
- 1.1 (2014-10-10)
- 1.0 (2014-07-28)