1
我一直在試圖從這個網址刮取股票市場usinf「rvest」包:http://finans.mynet.com/borsa/canliborsa/#A需要註冊。我創建了虛擬帳戶供您試用。下面的用戶名和密碼是真實的,並且工作正常。 我已經想出如下:Rvest Web Scraping僅帶有列名的空數據表
library("rvest")
library("data.table")
url<- "http://uyeler.mynet.com/login/login.asp?rurl=http%3A%2F%2Ffinans.mynet.com%2Fborsa%2Fcanliborsa%2F&formname=finans#A"
session<-html_session(url)
form<- html_form(session)[[1]]
login<- set_values(form, "username" ="muharrem_babaogul_1991","password"="q1w2e3")
submit_form(session,login)
jumped<-jump_to(session,url = 'http://finans.mynet.com/borsa/canliborsa/#A')
page<- read_html(jumped)
page<-html_nodes(page,xpath='//*[@id="canliLeftColumn"]/div[3]/table')
page<- html_table(page)
head(page[[1]])
而結果:
[1] Hisse Hisse Hisse Son Alış
[6] Satış %Fark En Düşük En Yüksek AOF
[11] Hacim (Lot) Hacim (TL) Son İşlem Ekle/Kaldır
<0 rows> (or 0-length row.names)
正如你看到的,我可以使用XPath達到表中,我得到的列名,但沒有任何裏面的數據。表格是完全空的。 有沒有人可以幫忙? 在此先感謝。
這些表格是通過javascript生成的。它看起來像你感興趣的數據是商店是一個'data.fdata'文件,但我不知道如何從一個安全的頁面請求它。看看這個答案:http://stackoverflow.com/questions/40638511/using-rvest-to-grab-data-returns-no-matches/40642507#40642507,這可能會有所幫助。 – Dave2e
是@ Dave2e,數據來自fdata,所以我不能得到它,直到現在還不知道它。但是我依然無法設法刮掉它。因爲fdata url([here](http://finans.mynet.com/borsa/canliborsadata/data.fdata))也需要登錄。我不能使用上面的方式(sumbit_form和jump_to),因爲它給read_html(跳轉)函數的錯誤,該文件不是一個html文件。所以我在這個[link](https://stackoverflow.com/questions/24723606/scrape-password-protected-website-in-r)上爲我的問題嘗試瞭解決方案,並且在下面的評論中提供了代碼,但仍然不行。 – Barsssk