dimanche 3 novembre 2019

r getting list of names from site while webscrapping

I want to get list of names from site. I make such code:

library("rvest") 
library("magrittr")

url <- 'https://energybase.ru/en/oil-gas-field/index'
read_html(url) %>% 
        html_nodes(".name")%>% 
             html_children()

and I got:

 [1] <div class="name">\n            <a href="/en/oil-gas-field/vankorskoe">Ванкорское месторождение</a>\n                            <br><small>\ ...
 [2] <div class="name">\n            <a href="/en/oil-gas-field/russkoe">Русское месторождение</a>\n                            <br><small>\n      ...
 [3] <div class="name">\n            <a href="/en/oil-gas-field/lyantorskoe">Лянторское месторождение</a>\n                            <br><small> ...
 [4] <div class="name">\n            <a href="/en/oil-gas-field/urnenskoye">Урненское месторождение</a>\n                            <br><small>\n ...
 [5] <div class="name">\n            <a href="/en/oil-gas-field/usinskoe">Усинское месторождение</a>\n                            <br><small>\n    ...
 [6] <div class="name">\n            <a href="/en/oil-gas-field/kamennoe-west">Каменное месторождение (западная часть)</a>\n                       ...
 [7] <div class="name">\n            <a href="/en/oil-gas-field/sovetskoe">Советское месторождение</a>\n                            <br><small>\n  ...
 [8] <div class="name">\n            <a href="/en/oil-gas-field/priobskoe-south">Приобское месторождение (южная лицензионная территория (ЮЛТ))</a> ...
 [9] <div class="name">\n            <a href="/en/oil-gas-field/zapadno-surgutskoe">Западно-Сургутское месторождение</a>\n                         ...
[10] <div class="name">\n            <a href="/en/oil-gas-field/north-komsomolskoe">Северо-Комсомольское месторождение</a>\n                       ...
[11] <div class="name">\n            <a href="/en/oil-gas-field/verkhnechonskoye">Верхнечонское месторождение</a>\n                            <br ...
[12] <div class="name">\n            <a href="/en/oil-gas-field/prirazlomnoye-rosneft">Приразломное месторождение (Роснефть)</a>\n                 ...
[13] <div class="name">\n            <a href="/en/oil-gas-field/fyodorovskoe">Фёдоровское месторождение</a>\n                            <br><smal ...
[14] <div class="name">\n            <a href="/en/oil-gas-field/srednebotuobinskoe">Среднеботуобинское месторождение</a>\n                         ...
[15] <div class="name">\n            <a href="/en/oil-gas-field/rogozhnikovskoe">Рогожниковское месторождение</a>\n                            <br ...
[16] <div class="name">\n            <a href="/en/oil-gas-field/yaregskoye">Ярегское месторождение</a>\n                            <br><small>\n  ...
[17] <div class="name">\n            <a href="/en/oil-gas-field/kumkolskoe">Кумкольское месторождение</a>\n                            <br><small> ...
[18] <div class="name">\n            <a href="/en/oil-gas-field/filanovskogo">Месторождение им. В. Филановского</a>\n                            < ...
[19] <div class="name">\n            <a href="/en/oil-gas-field/sugmutskoe">Сугмутское месторождение</a>\n                            <br><small>\ ...
[20] <div class="name">\n            <a href="/en/oil-gas-field/meretoyahinskoe">Меретояхинское месторождение</a>\n                            <br ...

I want to get all from data after <a href="/en/oil-gas-field/....">

Ванкорское месторождение
Русское месторождение...

and so on. When I tried to put

read_html(url) %>% 
    html_nodes(".name")%>% 
         html_children() %>% 
            html_attr("/en/oil-gas-field/")

I have got:

    [1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[49] NA NA NA NA NA NA NA NA NA NA NA NA

What function should I use? How can I solve my problem?




Aucun commentaire:

Enregistrer un commentaire