Если щелкнуть правой кнопкой мыши ISBN в Chrome и выбрать «Проверить», вы увидите, что каждый результат поиска представляет собой элемент списка со следующей структурой (для ясности некоторые элементы пропущены):
<ul id="searchresults">
<li>
<div class="bookinfo">
<h2><a href="/isbn/9780451205766">The Godfather: 50th Anniversary Edition</a></h2>
<p>Author: Mario Puzo</p>
<p>ISBN-13: 9780451205766</p>
<p>ISBN-10: 0451205766</p>
<p class="clear"></p>
</div>
</li>
Итак, селектор CSS для нужных вам элементов - div.bookinfo p
.
. Вы можете получить текст этих абзацев, используя:
p <- read_html("https://isbnsearch.org/search?s=THE+GODFATHER+%2C+Mario+Puzo")
p %>%
html_nodes("div.bookinfo p") %>%
html_text()
, а затем напишите несколько логик c, чтобы получить доступ только к интересующим ISBN. Например, чтобы вернуть все ISBN, используя grep
:
p %>%
html_nodes("div.bookinfo p") %>%
html_text() %>%
grep("ISBN*", ., value = TRUE)
[1] "ISBN-13: 9780451205766" "ISBN-10: 0451205766" "ISBN-13: 9780345441706"
"ISBN-10: 0345441702" "ISBN-13: 9780345432407"
[6] "ISBN-10: 0345432401" "ISBN-13: 9780345412218" "ISBN-10: 0345412214"
"ISBN-13: 9780345476722" "ISBN-10: 0345476727"
[11] "ISBN-13: 9781936530335" "ISBN-10: 1936530333"