Command-line Website Capturing Program (Linux)

1. Summary

We have a website that displays a list of Websties. For each Website we display its title, description, and screenshot.

The purpose of this project is to develop a command-line program that captures a screenshot of any Website and saves it as an image file. The program must run on Linux VPS machines.

2. Overview

2-1. Purpose

One way for generating a screenshot of a Website programmatically on a Linux VPS machine is to use the Firefox application with Xvfb. We have already tried this approach and it works, but the downside is speed—the 2 software (especially Firefox) require a lot of memory, therefore run very slowly on a low-memory VPS machine.

We'd like to solve this problem by creating a program that can take a screenshot of any Website quickly even on a low-end server.

2-2. Overview

Given a URL and a file path, the program needs to take a screenshot of the provided URL and save an image file at the file path. The size of the screenshot has to be 1024 x 1024.

For example, from the command line the program needs to be executed as:

$ program_name “[url removed, login to view]” “./files/full/[url removed, login to view]”

The URL and file path may contain URL-encoded characters such as %82%A0.

2-2-1. Programming Language

As long as the program runs on the environment stated in Section 2-3, there is no restriction for which programming language to use.


2-2-2. Execution Speed

The program needs to generate a screenshot image file within 10 seconds on a 256MB RAM VPS machine.

When the Website contains a Flash content, however, the execution time may exceed 10 seconds in order to wait for the content to be loaded.

The program should exit as soon as generating the image file successfully.

2-2-3. Image Format

The program needs to save an image file in either PNG or JPEG format.

Only 1 format needs to be supported.

2-2-4. Character Encoding

Requested Websites may contain multi-byte characters such as Japanese.

The program needs to render Websites in any character encoding supported by common Web browsers.

2-2-4. Error Handling

When a screenshot cannot be taken, the program should terminate without generating an image file. The timeout should occur after 60 seconds.

2-2-5. Configuration (optional)

Ideally, the image size described in Section 2-2, the image format in Section 2-2-3, and the timeout setting in Section 2-2-4 need to be configurable. However, this configuration feature is optional.


2-3. System Requirement

The program needs to run on the following VPS environment.

RAM: 256MB

OS: CentOS 5.5 (64-bit)

PHP: [url removed, login to view]

Other libraries or yum packages for the program can be installed if necessary.

3. Deliverable and Schedule

The program, source code, and the list of tested URLs should be turned in.

The copyright holder of the program will be 4plus Inc.

Although there is no fixed deadline for this project, please propose the shortest possible delivery period.

4. Budget

Please provide a cost proposal to complete this project.

The proposal should also explain which image format is supported, and what libraries or yum packages are required.

If the optional configuration feature in Section 2-2-5 can be implemented, please provide 2 proposals: one for with the feature, and the other for without the feature. Please also explain how you would implement the feature.

We intend to use this program only internally.

There are some websites, however, that allow anyone to take a screenshot of arbitrary Website by HTTP request.

For example, we can display a screenshot of xyz.com by

< img src="http: //some_screenshot_capture_website . com/?url=xyz.com&w=1024&h=1024" />

Obviously this kind of Websites have to take hundreds of thousands of screenshots as quick as possible.
In order to demonstrate your knowledge and skill, please also provide a brief note of how you would solve this problem.

Compétences : Programmation C, Linux, Perl, Script Shell, UNIX

en voir plus : which software we need to develop a website in php, what is project proposal with example, what is programming language, what is a project proposal with an example, website without programming, websites that use the programming language php, website programming language, website programming cost, website order develop, website of programming language, website for c programming solve, web 2.0 programming language, vps low cost, the d programming language, the cost of programming website, source code program php, software to develop website, software environment for programming website, screenshot website program, requirement to develop website, requirement application format, render software, proposal project format, proposal format for it project, proposal format example

Concernant l'employeur :
( 3 commentaires ) Fujinomiya, Japan

Nº du projet : #1657456

Décerné à:


I can do this using python and pyqt's webkit libraries.

%selectedBids___i_sum_sub_7% %project_currencyDetails_sign_sub_8% USD en 2 jours
(2 Commentaires)

10 freelance font une offre moyenne de $201 pour ce travail


Hi! I can use PHP to do it. Please, check your PMB for more details.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 5 jours
(10 Commentaires)

Hello sir, please check the message for details

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 10 jours
(2 Commentaires)

Hi, check private message please.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 3 jours
(2 Commentaires)

Hi there, Can do it for you. Check out my reviews to evaluate me. That's it. Straight and FOrward. Thanks and Regards, ABBASITECH (IT SOLUTIONZ ISB)

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 3 jours
(2 Commentaires)

On getting the job, i'll be using the webkit rendering engine directly using cutycapt to generate the image using the command line. The resolution and other details can be specified. 250$ shold suffice for this project Plus

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 10 jours
(1 Évaluation)

Please check your PM.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 7 jours
(0 Commentaires)

Hi, please check the pm.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 4 jours
(0 Commentaires)

Custom software development - <b><i>Removed by Admin</i></b>

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% USD en 1 jour
(0 Commentaires)

sir,i have recently do the same job in a project,thinking about using firefox cost lots of memory and time,we use xvfb+CutyCapt for a page shot,if the CutyCapt reach the timeout but fail to cut the web page,then run th Plus

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 2 jours
(0 Commentaires)

We understand the real architecture of these scenario. We are expert in scripting and data management in every aspect and committed for best service out of the industry.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 3 jours
(0 Commentaires)