【问题标题】:How to extract rating information using CSS selector or any other methods如何使用 CSS 选择器或任何其他方法提取评级信息
【发布时间】:2016-03-15 22:05:32
【问题描述】:

我正在自学网页抓取,我正在尝试将评论者在 Yelp 上的评分作为一种练习。通常,我可以使用 CSS 选择器或 XPath 方法来选择我感兴趣的内容。但是,这些方法不适用于选择审阅者的评级。例如,在以下页面上:https://www.yelp.com/user_details_reviews_self?userid=0S6EI51ej5J7dgYz3-O0lA。第一个评级的 CSS 选择器是“.stars_2”。但是,如果我在我的 RSelenium 代码中使用此选择器,如下所示:

     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>

基本上,如果我可以从 class="stat-img stars_2" 或 title="2.0 star rating" 中提取文本,那么我很好。谁能帮我解决这个问题?

【问题讨论】:

  • 请添加您的代码
  • 谢谢,我添加了代码。
  • Yelp's TOS (term 6 B iii) 禁止这样做。
  • 我实际上只是将其用作练习。我不会将它用于任何其他目的。我只是好奇如何处理这样的场景。

标签: python r web-scraping yelp rselenium


【解决方案1】:

您可能想尝试这种方法:

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

虽然似乎有些人觉得这已经过时了,但我在 Yelp github 页面上找到了一些有用的代码:

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

祝你好运! :)

【讨论】:

  • 谢谢!但是 API 只能在业务级别上工作。如果我想提取个人评分,我认为 API 没有帮助。如果我错了,请纠正我。
猜你喜欢
  • 1970-01-01
  • 2019-03-24
  • 1970-01-01
  • 2011-10-20
  • 2019-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
相关资源
最近更新 更多