Jump to content

Sean's eBay Bargain Hunter


Recommended Posts

This is an example of how AutoIT can be used to find last minute bargains in eBay. It's not finished, but works well enough at the moment to start a topic about it in these forums. I wanted to get it published here and get feedback on what people think.

Please Note - this example is specifically written for Australian users only. I myself am Australian, and use eBay Australia. The preset categories, postcode lookup CSV, and other defaults, are based on the eBay Australia site. Because this is an example only, you can either pretend to live in Australia (to test this example), or modify the code to support a different country. If there's enough demand, I might make it more universal.

The reason I wrote this application is that I've been curious for some time about what the list of auctions might be in eBay that are about to end at any point in time. I noticed as an eBay user that I couldn't easily obtain this information through the eBay website. eBay seemed to allow searching across one category of auctions at a time, or on keywords. But nothing to search across multiple categories at a time.

Once I discovered the eBay API I began writing the eBay UDF to support this app. I found that the eBay API function for searching a category was particularly slow when executing sequentially. It also only supports the searching of 3 categories in one call, so my plans of using it to search across a host of categories in eBay were not looking good. I looked at ways that I could run multiple searches in parallel using the API via parallel processing in AutoIT, and found Piccaso's CoProc UDF. The UDF worked great, and I refined it somewhat as the ChildProc UDF. The result was that I could fire multiple searches concurrently and have them run in parallel and complete in a fraction of the time that they would sequentially.

After getting parallel searching working, I added a few other filters and sorts, and I think the result is quite good at the moment. I've found a few bargains so far, and I think it makes the process of finding bargains much easier.

Note also that the main application window is 1280 x 800 pixels in size. This may be larger than most users desktops. A large sized window does help in viewing as many search results as possible at one time, which is why I chose this setting.

Note also that the application is internally configured for a maximum concurrent number of 100 processes during searching. I haven't done any performance tuning yet, and though 100 concurrent processes sounds excessive, I haven't had any issues with this so far on my dual core laptop. I will be making this setting configurable in the Preferences window soon. In one case, I had 157 concurrent category searches finish in just 58 seconds!


AutoIt3 3.2 or higher


At the moment the application doesn't have any built-in help. I might get around to writing a CHM help file one day. Will see how much people want it. For now I'm documenting the instructions here.

The Bargain Hunter window is composed of 4 major sections:

  • Persistent Settings
  • Temporary Settings
  • Results
  • Buttons and Progress and Status bars

The Persistent Settings group / box allows the user to select the categories they want included in the Search, as well as apply a number of filters. It's called "persistent" because any changes are saved when the application is closed, and reloaded automatically when next started. The user may check/uncheck any number of categories to then later search on. The Category Presets allow the user to select a number of preconfigured search categories in one go, and also immediately initiate a search across them. The "first XXX auctions" field lets the user specify a maximum number of auctions to pull back in the Search. The "PricePlusShippingLowest sort" field is currently fixed, and specifies that the Search will always return a list of auctions from lowest cost (price + shipping/postage) to highest. The "ending within XXX mins" field lets the user specify a cut-off time for auction ending times. This filters the "first XXX auctions" and "PricePlusShippingLowest sort" fields further, to only list auctions ending in this number of minutes. The "auctions from XXX" field further filters the results to only include items from the specified country. The "pickup items from XXX" field filters the results further, to only include the "free pickup" items from the specified state (or those that don't have a state defined).

The Temporary Settings group / box currently only stores a category filter. It's called "temporary" because the settings are lost when the application is closed. This is populated when the user pushes F7, or clicks the Filter (F7) button, whilst a record is selected within the Results listview. The results this is then refreshed (re-searched) to only display auctions for that single category.

The Results listview displays all the auctions found from a previous Search. A number of useful fields are included. The

The Search button will execute a multi-category search based on the criteria specified in the Persistent Settings group / box. The results go into the Results listview, and are automatically sorted ascendingly on the Cost (price + shipping / postage) column. The Prefs button displays a Preferences window, where general settings can be stored. Close (Esc) (self explanatory). Uncheck All Categories button unchecks all the categories in the Persistent Settings group / box.

The Preferences window lets you define your eBay Developer App ID and Auth. Token. These fields seem to be optional. I previously thought the user would have to supply these, however the app. seems to work without them.


Latest Version - v0.1 (30/05/10)

Source: eBay Bargain Hunter source.zip

Installer: eBay Bargain Hunter setup.exe

Edited by seangriffin

Cheers, Sean.

See my other UDFs:

Chrome UDF - Automate Chrome | SAP UDF - Automate SAP | Java UDF - Automate Java Applications & Applets | Tesseract (OCR) UDF - Capture text from applications, controls and the desktop | Textract (OCR) UDF - Capture text from applications and controls | FileSystemMonitor UDF - File, Folder, Drive and Shell Monitoring | VLC (Media Player) UDF - Creating and controlling a VLC control in AutoIT | Google Maps UDF - Creating and controlling Google Maps (inc. GE) in AutoIT | SAPIListBox (Speech Recognition) UDF - Speech Recognition via the Microsoft Speech (SAPI) ListBox | eBay UDF - Automate eBay using the eBay API | ChildProc (Parallel Processing) UDF - Parallel processing functions for AutoIT | HyperCam (Screen Recording) UDF - Automate the HyperCam screen recorder | Twitter UDF - Automate Twitter using OAuth and the Twitter API | cURL UDF - a UDF for transferring data with URL syntax

See my other Tools:

Rapid Menu Writer - Add menus to DVDs in seconds | TV Player - Automates the process of playing videos on an external TV / Monitor | Rapid Video Converter - A tool for resizing and reformatting videos | [topic130531]Rapid DVD Creator - Convert videos to DVD fast and for free | ZapPF - A tool for killing processes and recycling files | Sean's eBay Bargain Hunter - Find last minute bargains in eBay using AutoIT | Sean's GUI Inspector - A scripting tool for querying GUIs | TransLink Journey Planner with maps - Incorporating Google Maps into an Australian Journey Planner | Automate Qt and QWidgets | Brisbane City Council Event Viewer - See what's going on in Brisbane, Australia
Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...
  • 10 months later...
  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...