Fen.Dir is a utility for finding undervalued guitar listings on Carousell and Reverb!
- Scrape guitar listings from Carousell and Reverb
- Built-in listing validation and filtering
- Price Histogram Display
- Identify undervalued (relative to average price) listings
- Python 3
- Libraries specified in
requirements.txt
Place fendir.py in the same directory as your project files.
from fendir import ReverbSearch, CarousellSearchReverb is an excellent marketplace, with high-quality listings and no keyword stuffing. You can, therefore, expect high-quality results from the Reverb search.
ReverbSearch("fender stratocaster HSS floyd rose", search_params={'number_of_results':50, 'number_of_pages':3},
additional_filters={'neck_material': ['maple'], 'color': 'sunburst'}).find_undervalued_listings()Carousell has far fewer features and more spammy listings (keyword stuffing) compared to Reverb. The search results are therefore not as good as they good be.
CarousellSearch("fender stratocaster", additional_filters={"brand": "fender", "model": "stratocaster", "color": "black"}).find_undervalued_listings()You can display a rudimentary histogram using Matplotlib by passing the debug_keys keyword argument. Note: if you want to specify any of the debug_keys, you have to pass the complete dictionary.
ReverbSearch("fender stratocaster HSS floyd rose", search_params={'number_of_results':50, 'number_of_pages':3},
additional_filters={'neck_material': ['maple'], 'color': 'sunburst'},
debug_keys={'using_local': False, 'write_local': False, 'print_histogram': True, 'verbose': False}).find_undervalued_listings()It is certainly possible to create a web front-end for our search classes. In server.py, you can find an example starting point for how you might go about that.
We make use of extensive documentation within our codebase, explaining the purpose of each function and class, as well as for in-line clarification.