2017-10-24 10 views
0

rvestを使用してwikipediaからHTMLテーブルを削っています。 リンクを含むセルがあるたびに、実際のテキストを取得し、html_table()を実行した後、Rデータフレーム内のリンクの名前を取得します。rvest wikipediaリンクを含むセルを複製すると重複が発生する

ここは例です。私はだけではなく、「Jannings、EmilEmilの例えば、「Jannings、エミール」、名前を持っていることを好むだろう

dplyr::glimpse(males) 


Observations: 91 
Variables: 9 
$ `#`       <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "1... 
$ Actor      <chr> "Jannings, EmilEmil Jannings", "Baxter, WarnerWarner Baxter... 
$ Film      <chr> "The Way of All Flesh and The Last CommandThe Last Command,... 
$ `Date of birth`    <chr> "1884-07-23(1884-07-23)July 23, 1884", "1889-03-29(1889-03-... 
$ `Date of award`    <chr> "May 16, 1929 (1929-05-16)", "April 3, 1930 (1930-04-03)", ... 
$ `Age upon\nreceiving award` <chr> "44-2977004163670000000000♠44 years, 297 days", "41-0057004... 
$ `Date of death`    <chr> "1950-01-02(1950-01-02)January 2, 1950", "1951-05-07(1951-0... 
$ Lifespan     <chr> "23,903 days (7004239030000000000♠65 years, 163 days)", "22... 
$ Notes      <chr> "Held record as oldest winner for 2 award ceremonies (from ... 

:俳優の名前が繰り返されたデータフレームを生成

males_raw <- read_html("https://en.wikipedia.org/wiki/List_of_Academy_Award_Best_Actor_winners_by_age") 

males <- males_raw %>% 
html_nodes(xpath='//*[@id="mw-content-text"]/div/table') %>% 
html_table() 

males <- males[[1]] 

Jannings "

ありがとう!

答えて

1

ここでの問題は、表のセルに表示されないspanの要素が含まれていることです。 html_tableは内容をテキストに変換し、td要素のテキストに追加します。それは他の列にも起こります。

spans <- males_raw %>% 
    html_nodes(xpath = "//*/tr/td/span") 

xml_remove(spans) 

males_raw %>% 
    html_nodes(xpath='//*[@id="mw-content-text"]/div/table') %>% 
    html_table() %>% 
    .[[1]] %>% 
    glimpse() 

Observations: 91 
Variables: 9 
$ `#`       <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"... 
$ Actor      <chr> "Emil Jannings", "Warner Baxter", "George Arliss", "Lionel Barrymor... 
$ Film      <chr> "The Last Command,The Way of All Flesh", "In Old Arizona", "Disrael... 
$ `Date of birth`    <chr> "July 23, 1884", "March 29, 1889", "April 10, 1868", "April 28, 187... 
$ `Date of award`    <chr> "May 16, 1929", "April 3, 1930", "November 5, 1930", "November 10, ... 
$ `Age upon\nreceiving award` <chr> "44 years, 297 days", "41 years, 5 days", "62 years, 209 days", "53... 
$ `Date of death`    <chr> "January 2, 1950", "May 7, 1951", "February 5, 1946", "November 15,... 
$ Lifespan     <chr> "23,903 days (65 years, 163 days)", "22,683 days (62 years, 39 days... 
$ Notes      <chr> "Held record as oldest winner for 2 award ceremonies (from the 1st ... 
:この周り

<td> 
    <span style="display:none">Jannings, Emil</span> 
    <a href="/wiki/Emil_Jannings" title="Emil Jannings">Emil Jannings</a> 
</td> 

一つの方法は、spanノードを削除することです

関連する問題