EDIT: If you want to use this, use the Greasemonkey script. It’s just easier
So after my last post, we spent some time thinking about how the system could become more useful. We ended up deciding the best thing we could do would be to use the parser and RSS renderer to help build a better search system for Trademe listings.
The current TM search system kinda works, but I’ve always felt it was a bit limited – for example, if I search for ‘iPhone 3G’, the majority of the results are for cases and pouches. Sure, you can drill down to the category to get rid of a lot of the cruft, but people still insist on posting phone cases in the category that should be reserved just for actual phones.
This proved to be annoying when using my RSS feed generator, as I was constantly getting alerts that a cheap phone had turned up, and it turned out in most cases to be some sort of useless accessory.
So, we took the afternoon off and built this:
(yeah, the name needs work).
Basically the way it works is:
- You paste in a URL or provide some search terms to build a URL
- We fetch the page and parse it to automatically pull out all the attributes (title, buynow, photo, etc) in the auctions
- A web form is then generated that lets you select filters on those attributes.
- Behind the scenes it’s building up a simple little query ( something like “buynow < 1000 | size = 42″ ) based on what you select in the form. This is then run over the page to extract the listings that match
- The listing objects are rendered to RSS same as before, and you are returned a URL that you can use in a feed reader as normal.
It’s actually kind of neat – it autodetects most of the attributes, and you can build up quite complex queries fairly easily:
As a good example of how this is useful, I’ve always found that in many cases, auctions without photos tended to be a bit dodgy when you’re looking for furniture and so on. Now you can filter on this: Bookshelves with pictures, Bookshelves without pictures.
The previously-mentioned ‘iPhone, but no cases’ search works nicely too with the excluded words feature. Another tactic there would be to filter to remove auctions with a buy-now / bid price less than some amount. However, that would mean if someone posted one for $1 by accident I’d miss out
Anyway, I’m sure there’s still a bunch of bugs and such in it. Feel free to post them here and I’ll see what I can do.