How can an international student find American or Canadian companies that might sponsor his studies in US or Canada?

Can't speak for Canada (try this though: http://www.cic.gc.ca/english/applications/skilled.html), but here's what the process looks like in the US. You will need an H-1B visa. This allows you to work in the US for the sponsoring employer designated on your visa. The employer will have to agree to file your visa petition for you either through a company lawyer or through an independent immigration attorney. Expect to pay about $1600 in legal / filing fees. Unless you are a highly skilled worker, professional or have an advanced degree, employers in the US are reluctant to go through this process because of the following reasons: 1) Strict HR policy that explicitly states no sponsorship offered.
2) Company is small / new to the process and doesn't need the hassle.
3) Abundance of local candidates in your profession.
4) Company is unfamiliar with the process and unwilling to test the waters.
5) Company quota of percentage of H-1B employees on board has been reached or exceeded.
In any case, you want to avoid these situations. For a list of employers actively sponsoring and hiring, try a site like http://www.H1bjobs.com. It may be worth the small fee ($30 - $50). Another route that a lot of people take is to come to the US to study on an F1 (student visa) like you. You can then find a recruiting agency to hire you. A lot of agencies sponsor your visa, train you on certain business applications (usually as a business analyst) and contract you out to companies. You become an employee of the recruiter, not the company you go to work for. It usually involves meagre pay (recruiter will charge the company $30 an hour and pay you $20, keeping $10 an hour of your pay), no benefits, no vacation and other horrendous conditions, but they will sponsor your visa and possibly even file your green card. Now, that's a whole different story. Good luck and enjoy!