API Google Адресов и API Yelp Fusion позволяют получать рейтинг ресторана, если вы запрашиваете название компании и адрес. Я собираюсь объяснить, как это сделать, но сначала предостережение о соблюдении. То, что вы описываете, явно противоречит условиям обслуживания для обоих API. Единственное разрешенное использование их данных - это отображение их на общедоступном веб-сайте или в приложении. Получение и сохранение его в CSV-файле явно не подходит. API предназначены для запросов в реальном времени и немедленного отображения результатов для ваших пользователей.
Google требует, чтобы данные Places отображались вместе с картой Google или утвержденным изображением "powered by Google". Кроме того, не допускается «предварительная выборка, кэширование или хранение содержимого». Подробнее см. https://developers.google.com/places/web-service/policies
Yelp требует атрибуции, в основном вам нужно отобразить звездный рейтинг и логотип Yelp со ссылкой на бизнес-страницу Yelp для ресторана, который вы запросили. См. https://www.yelp.com/developers/display_requirements Кроме того, вы не можете «кэшировать, записывать, предварительно извлекать или иным образом хранить какую-либо часть Контента Yelp в течение периода, превышающего двадцать четыре (24) часа с момента получения Контента Yelp, или попытаться или предоставить средство для выполнения любых операций очистки или «массовой загрузки». Полный текст и термины см. https://www.yelp.com/developers/api_terms
Как можно узнать, как запросить рейтинг ресторана у Google Мест на карте:
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Applebees,234 W 42nd St,New York,NY&inputtype=textquery&fields=formatted_address,name,rating&key=YOUR_API_KEY
И ответ JSON:
{
"candidates": [
{
"formatted_address": "234 W 42nd St, New York, NY 10036, USA",
"name": "Applebee's Grill + Bar",
"rating": 3.6
}
],
"status": "OK"
}
Вот тот же запрос для Yelp Fusion. Нет способа запросить только рейтинг. Результаты всегда содержат все в своей базе данных для ресторана:
https://api.yelp.com/v3/businesses/search?term=applebees&location=234 W 42nd St,New York,NY&limit=1
JSON-ответ:
{
"businesses": [
{
"id": "gytFjzBw-z5LZD-6JSMChg",
"alias": "applebees-grill-bar-new-york-3",
"name": "Applebee's Grill + Bar",
"image_url": "https://s3-media1.fl.yelpcdn.com/bphoto/CLizyj9S7pMvwGNm2dgdiQ/o.jpg",
"is_closed": false,
"url": "https://www.yelp.com/biz/applebees-grill-bar-new-york-3?adjust_creative=pnOv3Zj2REsNDMU4Z3-SLg&utm_campaign=yelp_api_v3&utm_medium=api_v3_business_search&utm_source=pnOv3Zj2REsNDMU4Z3-SLg",
"review_count": 444,
"categories": [
{
"alias": "tradamerican",
"title": "American (Traditional)"
},
{
"alias": "burgers",
"title": "Burgers"
},
{
"alias": "sportsbars",
"title": "Sports Bars"
}
],
"rating": 2,
"coordinates": {
"latitude": 40.756442,
"longitude": -73.988838
},
"transactions": [
"delivery",
"pickup"
],
"price": "$$",
"location": {
"address1": "234 W 42nd St",
"address2": "",
"address3": "",
"city": "New York",
"zip_code": "10036",
"country": "US",
"state": "NY",
"display_address": [
"234 W 42nd St",
"New York, NY 10036"
]
},
"phone": "+12123917414",
"display_phone": "(212) 391-7414",
"distance": 5.938732504864397
}
],
"total": 2900,
"region": {
"center": {
"longitude": -73.98880004882812,
"latitude": 40.75648701137637
}
}
}