【发布时间】:2015-12-19 20:35:59
【问题描述】:
这是网站:
http://en.openei.org/apps/USURDB/rate/view/53bedfaf5257a37b15b4ba01
目标:尝试获取所有表,包括空表。
问题:我没有得到网站上的任何表格。
对于第一个表:点可以作为字符或任何其他数据类型存储在 DF 中吗?
对于第二张桌子:(使用时间需求收费结构)
shtml <-html(http://en.openei.org/apps/USURDB/rate/view/53bedfaf5257a37b15b4ba01#2__Demand, encoding = 'UTF-8')
shtml %>%
html_nodes('#flat_demand_strux_table') %>%
html_table(h=TRUE,trim=FALSE,fill=TRUE)
我在收到html_Tag(x) == 'Table' 错误后尝试了html_tag
之后我得到了:
UseMethod("html_nodes","html_tables") 中的错误:没有适用于 html_nodes/html_tables 的方法...
对于这两个我都尝试了html_text,然后将其转换为数据框,但它只给出了一个大行,所有数据都在继续,例如:
Period Tier Max kVA Usage Rate $/kVA Adjustments $/kVA 11 10 36.61 Â Â 2 15 49.05 Â Â 3 20 55.47 Â Â 4 25 61.89 Â Â 5 30 67.98.
尝试了不同的编码,但没有结果。
问题出在哪里?
这是我对进一步处理的第一个要求,仅卡在这里。
【问题讨论】:
-
您没有获得任何表格,因为没有任何
<table>s。 有 很多<div>s,因此html_table()不起作用。您必须以不同的方式定位每个元素并手动构建数据框。 -
哦!感谢您的快速和正确的响应,但是选择每个元素将是乏味的,我必须为每个网页(实用程序)循环运行它,这可能会导致大量时间/负载。还有其他选择吗?
标签: r web-scraping dataframe html-table rvest