5

特定の Web サイトのソース コードから情報を抽出しようとしています。

ソースコードには次の行があります。

# [[4]]
# <script type="text/javascript">
#   <![CDATA[
#     <!-- // <![CDATA[
#       var wp_dot_addparams = {
#         "cid": "148938",
#         "ctype": "article",
#         "ctags": "dziejesiewkulturze,piraci z karaibów,Charlie Hebdo,Scorpions",
#         "cauthor": "",
#         "csource": "film.wp.pl",
#         "cpageno": 1,
#         "cpagemax": 1,
#         "cdate": "2015-02-18"
#       };
#       // ]]]]><![CDATA[> -->
#                          ]]>
#   </script> 

そこから抽出したい:

"ctags": "dziejesiewkulturze,piraci z karaibów,Charlie Hebdo,Scorpions",

Rのパッケージのhtml_nodes関数でセレクターを指定する方法を知っている人はいますか?rvest

html("http://film.wp.pl/id,148938,title,dziejesiewkulturze-Codzienna-dawka-informacji-kulturalnych-180215-WIDEO,wiadomosc.html") %>%
  html_nodes("script")
4

1 に答える 1

6
  1. 要素のテキストから JSON オブジェクトを抽出します (選択中にセレクターを整理します)。

  2. jsonlite の fromJSON() 関数を使用してリストとして解析します。

  3. 「$ctags」を使用して直接アクセスできます

    library(jsonlite)
    
    json <- html("http://film.wp.pl/id,148938,title,dziejesiewkulturze-Codzienna-dawka-informacji-kulturalnych-180215-WIDEO,wiadomosc.html") %>%
      html_nodes("script:contains('var wp_dot_addparams')") %>%
      gsub(x=., pattern=".*var wp_dot_addparams = (\\{.*\\});.*",replacement="\\1") %>%
      fromJSON()
    
    json$ctags
    
    [1] "dziejesiewkulturze,piraci z karaibów,Charlie Hebdo,Scorpions"
    
于 2016-02-02T22:58:21.007 に答える