seangriffin Posted May 30, 2010 Share Posted May 30, 2010 (edited) 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!REQUIREMENTS:AutoIt3 3.2 or higherINSTRUCTIONS: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 SettingsTemporary SettingsResultsButtons and Progress and Status barsThe 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.DOWNLOAD:Latest Version - v0.1 (30/05/10)Source: eBay Bargain Hunter source.zipInstaller: eBay Bargain Hunter setup.exe Edited May 31, 2010 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 More sharing options...
WeiHeXie Posted July 4, 2010 Share Posted July 4, 2010 ERROR: _ChildProcReciver(): undefined function. Link to comment Share on other sites More sharing options...
WeiHeXie Posted July 4, 2010 Share Posted July 4, 2010 ERROR: _ArrayAdd(): undefined function. Link to comment Share on other sites More sharing options...
FinalVersion Posted July 4, 2010 Share Posted July 4, 2010 @WeiHeXie Complaining about errors will fix them, everyone on this forum is dedicated to fixing your errors. [center][+] Steam GUI [+][+] Clipboard Tool [+][+] System :: Uptime [+][+] StarCraft II Mouse Trap [+][/center] Link to comment Share on other sites More sharing options...
supadodger Posted September 7, 2010 Share Posted September 7, 2010 ERROR: _ChildProcReciver(): undefined function.i get this same error Link to comment Share on other sites More sharing options...
Foxhound Posted September 7, 2010 Share Posted September 7, 2010 i get this same error Works fine for me. This must have taken a while to accomplish. Nice job. [quote]Quick YouTube To MP3 | Lyrics Finder | Internet Radio Player | GetWeather | TinyURLifier[/quote] Link to comment Share on other sites More sharing options...
Chimaera Posted July 15, 2011 Share Posted July 15, 2011 Works fine here, shame it doesn't have a UK search, i would definatly use it Very good job many thanks If Ive just helped you ... miracles do happen. Chimaera CopyRobo() * Hidden Admin Account Enabler * Software Location From Registry * Find Display Resolution * _ChangeServices() Link to comment Share on other sites More sharing options...
dapro Posted July 25, 2011 Share Posted July 25, 2011 Thanks Sean, works like a ripper Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now