Skip to content

feat: add evolution chain scraping - #1

Merged
AofeiLi-code merged 3 commits into
AofeiLi-code:mainfrom
bupt-lxc:feat/evolution-chain
Apr 21, 2026
Merged

feat: add evolution chain scraping#1
AofeiLi-code merged 3 commits into
AofeiLi-code:mainfrom
bupt-lxc:feat/evolution-chain

Conversation

@bupt-lxc

@bupt-lxc bupt-lxc commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Added parse_evolution_chain() to scrape evolution chain from each sprite's detail page
  • Each stage includes: name, no (sprite number), evolves_from, level, condition
  • no is backfilled post-scrape via name→no mapping, supporting form variants (e.g. 板板壳(蜕皮时的样子))
  • evolution_chain field is stored before skills in JSON output
  • CSV includes evolution_chain column: name(level/condition);...

Full Scrape Results

465 sprites scraped — 465 succeeded, 0 failed.

Metric Value
Total sprites 465
With evolution chain 406
No evolution chain 59
Stages with no = null 0

Sample Data — JSON

3-stage chain (喵喵):

[
  {"name": "喵喵",   "no": 2, "evolves_from": null,   "level": null, "condition": null},
  {"name": "喵呜",   "no": 3, "evolves_from": "喵喵", "level": "16", "condition": null},
  {"name": "魔力猫", "no": 4, "evolves_from": "喵呜", "level": "32", "condition": null}
]

Special condition + form variant (晶石蜗):

[
  {"name": "矿晶虫",                    "no": 39, "evolves_from": null,     "level": null, "condition": null},
  {"name": "晶石蜗(西瓜碧玺的样子)", "no": 40, "evolves_from": "矿晶虫", "level": "40", "condition": "撞击三次蓝晶碧玺"}
]

Sample Data — CSV

evolution_chain column format: name(level/condition);... — empty fields left blank.

name evolution_chain
喵喵 喵喵(/);喵呜(16/);魔力猫(32/)
晶石蜗 矿晶虫(/);晶石蜗(西瓜碧玺的样子)(40/撞击三次蓝晶碧玺)

Test Plan

  • 3-stage chain with level requirements
  • Special condition evolution captured
  • Form variant sprites correctly mapped to no (e.g. 板板壳(蜕皮时的样子)→ no: 12)
  • Full scrape: 465/465 succeeded, 0 no=null stages
  • No impact on sim/ battle engine

Kizzen983 added 3 commits April 17, 2026 16:47
Parse evolution chain from sprite detail pages, extracting each stage's
name, id, evolves_from, level requirement, and special condition.
Stored in JSON before skills field, and in CSV as semicolon-separated
entries with format name(level/condition).
Use sprite no (numeric) instead of name as identifier in evolution_chain
stages. Backfill is done post-scrape via name→no mapping.
@AofeiLi-code

Copy link
Copy Markdown
Owner

Thank you for your contribution

@AofeiLi-code
AofeiLi-code merged commit 3c15aec into AofeiLi-code:main Apr 21, 2026
@AofeiLi-code

AofeiLi-code commented Apr 22, 2026 via email

Copy link
Copy Markdown
Owner

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants