在this url string中,“ toDate = 1399849199999 ”字符串的一部分是指以毫秒为单位的UNIX时间,用于提取特定日期的英超联赛表。
在这种情况下,UNIX时间是指2014年5月11日。
as.POSIXlt (1399849199999/1000, tz = "GMT", origin = "1970-01-01")
我想检索特定月份的所有可能的UNIX时间值。对于此处提供的网址,这6个值存储在网页源代码中,如下所示:
<select name="toDate" id="date" class="selectToSlider" widget="selectToSlider" labels="18" tooltip="false" wrapperClass="selectToSliderWrapper selectToSliderMatchDate"><optgroup label="results"><option value="1399157999999">SAT 03</option><option value="1399244399999">SUN 04</option><option value="1399330799999">MON 05</option><option value="1399417199999" selected="selected">TUE 06</option><option value="1399503599999">WED 07</option><option value="1399849199999">SUN 11</option></optgroup><optgroup label="fixtures"></optgroup></select>
以前我曾经用正则表达式提取这些信息,但这是 neck (***)中的痛苦,我想以更简单的方式做到这一点。
如果有人可以提供可以使用R中的一些Web抓取包提取这些值的代码(可能包含已解释的步骤),我感激不尽,最好是 XML 。我自己尝试了但是我没有成功......
答案 0 :(得分:1)
rvest
让这很容易。寻找&#34;选项&#34;节点,然后抓住&#34;值&#34;属性。
library("rvest")
h <- read_html('<select name="toDate" id="date" class="selectToSlider" widget="selectToSlider" labels="18" tooltip="false" wrapperClass="selectToSliderWrapper selectToSliderMatchDate"><optgroup label="results"><option value="1399157999999">SAT 03</option><option value="1399244399999">SUN 04</option><option value="1399330799999">MON 05</option><option value="1399417199999" selected="selected">TUE 06</option><option value="1399503599999">WED 07</option><option value="1399849199999">SUN 11</option></optgroup><optgroup label="fixtures"></optgroup></select>')
h %>% html_nodes("option") %>% html_attr("value")
[1] "1399157999999" "1399244399999" "1399330799999"
[4] "1399417199999" "1399503599999" "1399849199999"
答案 1 :(得分:1)
我们可以尝试使用XML包来解析你提供的链接中的html,然后使用xpath提取所需的特定信息(整个html中):
library(XML)
EPL.URL <- "http://www.premierleague.com/en-gb/matchday/league-table.html?season=2013-2014&month=MAY&timelineView=date&toDate=1399849199999&tableView=CURRENT_STANDINGS"
EPL.doc <- htmlParse(EPL.URL)
xpathSApply(EPLdoc, "//optgroup[@label='results']/option", xmlGetAttr, "value")