2016-03-15 17 views
-1

Я изучаю веб-соскабливание самостоятельно, и я пытаюсь обменивать оценки рецензента на Yelp как практику. Как правило, я могу использовать CSS-селектор или методы XPath для выбора содержимого, которое меня интересует. Однако эти методы не работают для выбора рейтингов рецензентов. Например, на следующей странице: https://www.yelp.com/user_details_reviews_self?userid=0S6EI51ej5J7dgYz3-O0lA. Селектор CSS для первого рейтинга - «.stars_2». Однако, если я использую этот селектор в своем коде RSelenium следующим образом:Как извлечь информацию о рейтингах с помощью CSS-селектора или любых других методов

 ratings=remDr$findElements('css selector','.stars_2') 

    ratings=unlist(lapply(ratings, function(x){x$getElementText()})) 

Я получаю NULL. Я думаю, причина в том, что рейтинг на самом деле является образом. Я вставить небольшую часть исходного кода страницы здесь:

  <div class="review-content"> 
      <div class="review-content"> 
      <div class="biz-rating biz-rating-very-large clearfix"> 
      <div>   
      <div class="rating-very-large"> 
      <i class="star-img stars_2" title="2.0 star rating"> 
      <img alt="2.0 star rating" class="offscreen" height="303" src="//s3-media4.fl.yelpcdn.com/assets/srv0/yelp_styleguide/c2252a4cd43e/assets/img/stars/stars_map.png" width="84"> 
    </i> 
</div> 


    </div> 

В принципе, если я могу извлечь текст из класса = «стат IMG stars_2» или название = «2,0 звезды рейтинг», то я хорошо. Может ли кто-нибудь помочь мне в этом?

+1

, пожалуйста, добавьте свой код – HubertL

+0

Спасибо, я добавил код. – Allen

+2

Это запрещено [Yelp's TOS] (https://www.yelp.com/static?p=tos) (термин 6 B iii). – Gregor

ответ

0

Вы можете попробовать что-то вроде этого подхода:

Using the Yelp API with R, attempting to search business types using geo-coordinates

, хотя, кажется, некоторые люди нашли это устаревшее, я нашел несколько полезных код на GitHub странице Yelp:

https://github.com/Yelp/yelp-api/pull/88 https://github.com/Yelp/yelp-api/pull/88/commits/95009afde2b47e8244fda3d435f0476205cc0039

Удачи вам! :)

+0

Спасибо! Но API может работать только на бизнес-уровне. Если я хочу извлечь индивидуальные рейтинги, я не думаю, что API может помочь. Поправьте меня, если я ошибаюсь. – Allen

+0

ах вы правы. –