[在进行网络抓取时从网站获取名称列表

问题描述 投票:0回答:1

我想从site.获取名称列表我编写这样的代码:

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

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

我得到:

 [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 ...

我想从<a href="/en/oil-gas-field/....">之后的数据中获取全部信息>

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

依此类推。当我试图把

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

我有:

    [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

我应该使用什么功能?我该如何解决我的问题?

我想从站点获取名称列表。我编写这样的代码:library(“ rvest”)library(“ magrittr”)url%html_nodes(“ ....

html r web-scraping rvest
1个回答
1
投票

您想要具有类a的父级的直接子级name。您可以为此使用css child combinator

© www.soinside.com 2019 - 2024. All rights reserved.