使用R从Web上刮取数据

时间:2016-05-17 19:28:34

标签: r web-scraping

我想从以下网页抓取数据:

http://www.bigpara.com/borsa/gecmis-kapanislar/endeks/14-aralik-2015 相关来源是:

<div class="tableCnt">
    <div class="table wide">
        <div class="tableBox">
            <div class="tHead">
                <ul>
                    <li class="cell008 tal">Menkul Adı</li>
                    <li class="cell002">Dün</li>
                    <li class="cell002">1.Seans</li>
                    <li class="cell002">2.Seans</li>
                    <li class="cell002">%</li>
                    <li class="cell002">Yüksek</li>
                    <li class="cell002">Düşük</li>
                </ul>
            </div>
            <div class="tBody">
                        <ul>
                            <li class="cell008 tal arrow"><a href="/borsa/endeksler/bist-30-agirlik-sinirlamali-endeksi/">X030S</a></li>
                            <li class="cell002">86.337</li>
                            <li class="cell002">87.403</li>
                            <li class="cell002">85.010</li>
                            <li class="cell002">-1,54</li>
                            <li class="cell002">88.151</li>
                            <li class="cell002">84.863</li>
                        </ul>
                        <ul>
                            <li class="cell008 tal arrow"><a href="/borsa/endeksler/bist-100-agirlik-sinirlamali-endeksi/">X100S</a></li>
                            <li class="cell002">70.274</li>
                            <li class="cell002">71.146</li>
                            <li class="cell002">69.302</li>
                            <li class="cell002">-1,38</li>
                            <li class="cell002">71.680</li>

我想要刮掉69.302。

enter image description here

此示例仅适用于此日期(14-aralik-2015/14-December-2015)。但是我会做一个循环来为其他日期刮掉同一个单元格。

我尝试了很多东西,但网络抓取在我看来这么困难。我会很高兴得到任何帮助。非常感谢。

1 个答案:

答案 0 :(得分:2)

rvest让这很容易。对于单个单元格,只需使用右键单击,检查,然后复制单元格的xpath。有些东西告诉我你要改变你的问题并要求比这个单细胞更多...

library("rvest")
url <- "http://www.bigpara.com/borsa/gecmis-kapanislar/endeks/14-aralik-2015/2-ocak-2000"

read_html(url) %>%
  html_nodes(xpath='//*[@id="content"]/div[2]/div[3]/div/div/div[2]/ul[2]/li[4]') %>% 
  html_text() %>%
  as.numeric()