Transferring biz info to a db

Hey people
Anyone know, or could make a good guess at how sites like yelp or citysearch get business info and put in on their site? Do they take it from google or public listings?

Example. If I typed in hair salons on google maps is there any way to extract the business name, ph#, and address on to a databse? Or any other info?