I want MATLAB to pull restaurant names from Yelp

1 view (last 30 days)
I want to pull restaurant names from Yelp when the user gives a location. Not sure how to get information other than the java. I built this using the help section.
citylocation=input('What is your City location? ','s');
statelocation=input('What is your State location? ','s');
link2web=(['https://www.yelp.com/search?find_desc=Restaurants&find_loc=',citylocation,'%2C+',statelocation,'&ns=1']);
%web(link2web)
url = [link2web];
S = webread(url);
options = weboptions('ContentType','text');
textData = webread(url,options)

Answers (1)

Jalaj Gambhir
Jalaj Gambhir on 6 Apr 2020
Hi,
For your specific case, if you look at the textData returned (for say, citylocation = 'New York' and statelocation = 'NY'), you can observe that the results are stored in "og:description" tags' content property
The textData contains:
....
<meta property="og:description" content="Best Restaurants in New York, NY - Jacob&#39;s Pickles, Soco, Bunker...."> %%result truncated for readability
<meta property="og:site_name" content="Yelp">
....
So, you need to extract the text between these two tags. This can be easily achieved by 'regexp'
url = [link2web];
S = webread(url);
options = weboptions('ContentType','text');
textData = webread(url,options)
%% Use the following code:
pattern = '((?<=<meta property="og:description" content=").*(?=<meta property="og:site_name"))'
result = regexp(textData,pattern,'match')
This returns result as:
{'Best Restaurants in New York, NY - Jacob&#39;s Pickles, Soco, Bunker...'}

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!