Yahoo Finance Options Data Scraper (Python)

IN PROGRESS
Bids
9
Avg Bid (USD)
$243
Project Budget (USD)
$30 - $250

Project Description:
I need a python programmer to write a simple program to extract stock price data and accompanying call option prices from Yahoo finance. I expect your python library to be able to take a list of symbols (from 50 to 150 symbols) and go ahead to download the stock data and option data, for that day, from Yahoo finance for each given symbol, and extract the ‘call’ option chains for different expiration dates and different strike prices. I am not interested in put option data, just call option data.
You could check link to have an idea of what data you are downloading:
Stock Data: http://finance.yahoo.com/q?s=YHOO
Options Chain Data: http://finance.yahoo.com/q/op?s=YHOO
I would recommend using YQL or the ystockquote API to download the Yahoo stock data. It is available at http://goldb.org/ystockquote.html. For downloading the call options chain data, I would also recommend using YQL.
When the contract is awarded I will provide more precise information on the stock data I wish to retrieve and what call options chain data I wish to retrieve. I will provide the logic for which call options I wish to download (e.g. expiry month, strike price, etc…)
On the delivery, I expect you to use regular expression or any other robust method to parse the data in a robust way and please raise an exception if anything goes wrong (for example, your code fails to download the page or your regular expression fails to parse the data). Finally, please document your code about input, output, exceptions raised in your code etc., and make your parsing code easier to accommodate future changes.
Upon retrieval of the stock and call options data, I want it written to a SQLite database called “StockData” residing in the same location as the python files. I will provide the schema and data model information when the contract is signed. The schema is really simply: two tables with a one to many relationship. Both tables combined have less than 20 columns.
After the data has been successfully written to the database, I want the program to query the database and email it to me as an HTML table in the body of the email. I will provide the columns and sort order. It must use SMTP to send the email and have variables in the code where I can specify the SMTP server name, username, and password, plus recipient email address. The Subject line of the email will have something like “Call Option Analysis for YYYY-MM-DD”. I will be using Gmail so your code must be able to authenticate to Gmail SMTP to send the email. You can setup a Gmail account and send an email using that account to test it.
I will run this python program once per day. It will be scheduled to automatically run using the Windows Task Scheduler. The python program must not require any arguments.
Please include your code a unit test for the following cases:
- test your code on three symbols with options: yhoo, msft, goog
- one symbol which has no options: grvy, in this case
- any other important functions need at least one test to show it works
Upon contract signing I will provide a high level application design, database schema, columns and datatypes, program logic, and sample HTML table.

Skills required:
Python, Web Scraping
About the employer:
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.


Hire mantislin
$ 248
in 5 days
Hire zeke
$ 250
in 3 days
$ 250
in 2 days
$ 150
in 3 days
$ 150
in 3 days
Hire pbq
$ 250
in 5 days
Hire kommandant
$ 500
in 7 days
Hire sthakral
$ 240
in 3 days
Hire rasilu
$ 150
in 15 days