Track listings on Yahoo! Auctions and Mercari and get email updates.
git clone --recurse-submodules https://github.com/zhecfy/yambot.gitcd yambot/
pip install -r mercari/requirements.txt
pip install -r Yoku/requirements.txtcp email_config.json.example email_config.json
vim email_config.jsonMAIL_PASSWORD is the SMTP login password for MAIL_SENDER.
For Gmail, create and fill in an app password.
python bot.py addThen yambot will prompt you to add a search entry interactively.
Searching on mercari could be quite painful since it uses some kind of fuzzy search. As long as an item's name and description contain all of the keywords, it may be shown in the search result. Sometimes completely different items with similar names flood the result. Sometimes the kanas in the keyword are incorrectly tokenized. Yambot uses different 'ambiguity levels' to determine which items are worth tracking.
- Level 1 (Absolutely Unique): track all items
- Level 2 (Unique): track items with full keyword in their title
- Level 3 (Ambiguous): search with supplemental keywords, track items with full keyword in their title
Set the カテゴリー on mercari and the number after category_id= in the URL. For example, the category_id for CD is 75.
Value: list of integers, seperated with comma. Example: 694,695
- 1: 新品、未使用
- 2: 未使用に近い
- 3: 目立った傷や汚れなし
- 4: やや傷や汚れあり
- 5: 傷や汚れあり
- 6: 全体的に状態が悪い
Value: list of integers, seperated with comma. Example: 3,4,6
Set the カテゴリ on yahoo auctions and the number after auccat= in the URL. For example, the auccat for Music is 22152.
Value: one integer.
- 1: 未使用
- 2: 中古
- 3: 未使用に近い
- 4: 目立った傷や汚れなし
- 5: やや傷や汚れあり
- 6: 傷や汚れあり
- 7: 全体的に状態が悪い
Value: list of integers, seperated with comma. Example: 3,4,6 Note: 2 is equivalent to 3,4,5,6,7
python bot.py listOr, to list a specific entry, give yambot its entry id:
python bot.py list --id=12Also, take a look at the generated track.json. It's pretty human-readable.
More parameters are configurable for yahoo auctions, including brands (brand_id), sorting method (s1, o1) and auction type (fixed). See Yahoo! Auctions URL Parameters Guide (Unofficial) for details.
For example, if you want to set the brand_id parameter of an entry, just add "brand_id": 101091, in the JSON.
More mercari parameters (not supported yet, but on the to-do list): Mercari API Parameters Guide (Unofficial)
python bot.py trackOr, to track a specific entry, give yambot its entry id:
python bot.py track --id=12It depends on the system. For Linux, use crontab.
For mercari listings, yambot tracks attibutes price and status ("On Sale" or "Sold Out" etc.) for each item.
For yahoo auction listings, yambot tracks attibutes curr_price and bid_count for each item.
Everytime yambot runs the track() function, it updates all search entries. If a new item ID appears or an existing item has some attributes changed, yambot sends an update through email.
python bot.py sort