Webservice/API to grab a screenshot of another web

2019-04-09 09:23发布

问题:

From this question:-

https://stackoverflow.com/questions/1342611/is-there-a-webservice-api-to-grab-a-screenshot-of-another-website

and some other questions/google I got some results like:--

  • http://www.bitpixels.com/ ( limitations:- only thumbnails, max size is 200*200 pixels)
  • http://www.thumbalizr.com/ (Limitations:-- No css formatting.)
  • http://www.webshotspro.com/ (Limitations:-- too slow, even pro account is too slow.)

Can you suggest me something really fast and powerful. I am ready to pay for it. Isnt google providing any api for it? as they are showing screenshots in results.

EDIT:-- Also I need something which capture complete home page. Not just one screen.

回答1:

wkhmltopdf is the best API I've seen so far for that kind of stuff. it uses the Webkit rendering engine.

http://code.google.com/p/wkhtmltopdf/

http://code.google.com/p/wkhtmltopdf/wiki/IntegrationWithPhp

Here's the manual for wkhtmltoimage:

http://madalgo.au.dk/~jakobt/wkhtmltoxdoc/wkhtmltoimage_0.10.0_rc2-doc.html

Following SleepyCod lead. I got the solution.

Following these links you can setup a high quality pdf's gems and plugins installation guide.

  • https://github.com/mxcl/homebrew
  • https://github.com/jdpace/PDFKit/wiki/Installing-WKHTMLTOPDF
  • https://github.com/jdpace/PDFKit

Same way you can generate PNG's too. :-)



回答2:

You can take a look at Browshot for real-time screenshots of any website. It can be used to capture the screen or the whole page. You can create a free accounts and try free screenshots. No limitation on the thumbnail size.



回答3:

There is also a JavaScript library which is able to capture a screenshot of websites. I used it once and it was pretty handy. Take a look at it PhantomJS.



回答4:

Take a look at this one: http://immediatenet.com/thumbnail_api.html cached entries are fetched fast, and new requests pretty much immediately. There's a way to get complete pages also: http://immediatenet.com/HTML2image.html but there is no known API for that yet (rumours are that there will be one though) The greatest thing is that you can even request own API:s if existing ones aren't ok.