If we have multiple site which have different html structure so what is the better way to implement scrapy?

should I create multiple spider according to site in single project?
should I create multiple projects according to site?
or another way, please define.
Usually you should create multiple spiders in one project, one for each website, but this depends.
A scrapy spider also decides how to jump from page to page, than it applies a parser callback, the parser callback method will extract the data from a page. Because pages are not the same you need a parser callback method for each page.
The websites usually have different sitemaps, therefore you need multiple spiders, one for each website, that will decide how to jump from page to page. Than, spiders will apply their callbacks that decides how to scrape that page.
Usually You don't need to create multiple projects for multiple websites but this depends.
If your websites share some logical characteristics, put them in one project so they can use the same scrapy settings. It is also more easier in this way, you can create base spiders and inherit common methods.
what is the better way to implement scrapy if we have multiple sites?