Perl Mechanize web automation - repost

CLOSED
Bids
7
Avg Bid (USD)
$635
Project Budget (USD)
$30 - $250

Project Description:
==================
OVERVIEW
==================
Build a script based tool to perform updates on various websites which require form based login. Updates require navigating through the site in order to get to the area needing updating.  The tool should be easy to use, simple to install, and minimal footprint.

==================
ENVIRONMENT
==================
Mac OS X v10.8.2
- Perl v5.12.4
- xCode v4.2.1
- gcc
- make v3.81

Windows XP SP3
- Perl v5.14.2 (Active State)

==================
REQUIREMENTS
==================

1. Document steps to install and configure HTTP::Recorder such that invoking 'httprecorder' will record HTTP traffic passing through the listener on port 8080.
- Output of the recorded session must be WWW::Mechanize format (this is the default).
- Include details on invoking Http::Recorder GUI
- reference information: http://www.perl.com/pub/2004/06/04/recorder.html
- NOTE: Currently produces the following error on the Mac server. It appears HTTP::Recorder was deprecated, and the underlying dependency has changed "Can't locate object method "new" via package "Email::MIME" at /Library/Perl/5.12/HTTP/Request/Params.pm line 86."


2. Create accounts for your testing on the following sites:
- Monster.com (US version), Create 3 sample resumes (minimum)
- Careerbuilder.com (US version), Create 3 sample resumes (minimum)


3. Create separate Perl scripts for each site (monster AND careerbuilder) using WWW::Mechanize::Shell which does the following:
- For all resumes under a configurable username/password, update and save the resume so the last updated time is reset.
- NOTE: you can do this manually by adding a '.' to the title of the resume, then save it. If you come up with a more creative way to do this, that will be fine.
- For each resume found, script will output the following:

Monster.com
resume#1,begin last updated time,current last updated time,active yes|no,resume title
resume#2,begin last updated time,current last updated time,active yes|no,resume title
...

Careerbuilder.com
resume#1,begin last updated time,current last updated time,active yes|no,resume title
resume#2,begin last updated time,current last updated time,active yes|no,resume title
...


4. Create separate Perl scripts for each site (monster AND careerbuilder) using WWW::Mechanize which does the following:
- For all resumes under a configurable username/password, update and save the resume so the last updated time is reset.
- NOTE: you can do this manually by adding a '.' to the title of the resume, then save it. If you come up with a more creative
   way to do this, that will be fine.
- For each resume found, script will output the same format as described in requirement #3.


5. All required Perl modules (Anything above the base install of Perl) must be installed in a separate location, such that updates to Perl do not interfere with the operation of this project.
- File system layout for deliverables:
    Perl: (system installed version/path)
    Scripts: /perl/mech
    Required Perl Modules: /perl/mech/lib

The required outcome allows copying /perl/mech directory any other server with a base installation of Perl, such that the scripts will run because the required modules have been included in the lib directory.


6. Requirements: 1,2,3,4,5 MUST function correctly on both machine types described in the environment section on my network.  Include necessary documentation.

7.  Document procedure to update the scripts as the websites change.  How does end user debug current script to find items needing modification?

8.  Describe other methods or a better design to accomplish the requirements above. Make recommendations for future enhancements to any of the items above.

Skills required:
Perl, Shell Script, Software Testing, Web Scraping, Website Testing
Hire inetquestion
Project posted by:
inetquestion United States
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


$ 947
in 15 days
$ 500
in 15 days
Hire mccheung
$ 222
in 5 days
Hire techwelf
$ 752
in 11 days
$ 750
in 15 days
Hire shojasl
$ 555
in 15 days
Hire kripsunix
$ 722
in 20 days