Guys, I’m trying to accomplish the same. My first approach was to use PHP GD library but i needed to render HTML page. I was even trying to use the Gecko Engine that powers Netscape, Mozilla and Opera. This resulted into an extremely amount of work and it got me frustrated. After hours spent looking for solutions online I came up with a windows service that uses a Web browser Control (.net) that is a Browser and it goes and downloads the page. Many problems came to light, many websites have redirects this can be HTTP, META TAG Refresh or JavaScript, and this makes the process even more difficult because the actual output is a blank image. To makes matter worst, the (.net) web browser control is not design to work in a windows service environment. I just wonder how Thumbnails.org or Alexa manage to accomplished this, on my side it has giving me months of headaches with no 100% accomplishment. Juan R. Castillo
try http://www.sitethumbshot.com/. sitethumbshot in basic service is free. For detail on rates go to http://www.sitethumbshot.com/premium_service.php.
I have been using shrinktheweb.com for some time and they are an acceptable solution. However, they are very expensive so I am looking at an own script, but we are having problems in getting firefox to work on our servers. Hope we can get it working one day.
See this post the thumbnails service mentioned there is either free (<100 thumb/month) or cheap. PHP integration only requires a get if I remember well.
Here's a crazy idea. It'll probably work, but I wouldn't try implementing it myself : Write a script to post a request to http://www.browsershots.org (selecting ONE browser only!) - they generate screenshots from different browsers on demand. Then go back in about 10 minutes, grab any JPGs on the page, and voila - you have youself a freshly rendered screenshot. I don't see any link to a TOS, but I imagine it'd be a violation if it ever became popular, since you're using other people's bandwidth. If you do try this, I'm not responsible for any backfires whatsoever. (Also, I'd do caching. Bigtime)
Interesting idea: with HTML5 and JavaScript, it's possible to create website screenshots directly in the browser - no server interaction needed. see working prototype here: http://html2canvas.hertzen.com/