I want MATLAB to pull restaurant names from Yelp

조회 수: 1 (최근 30일)
John Davies
John Davies 2020년 4월 3일
답변: Jalaj Gambhir 2020년 4월 6일
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)

답변 (1개)

Jalaj Gambhir
Jalaj Gambhir 2020년 4월 6일
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...'}

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by