Web Scraping bằng R
Timo Grossenbacher
Instructor
<html>
<body>
<div>
<p>Đoạn văn thứ nhất.</p>
</div>
<div>
Không phải đoạn văn thực sự,
nhưng có một <a href="#">liên kết</a>.
</div>
<p>Một đoạn văn không có
thẻ div bao ngoài.</p>
</body>
</html>

<html>
<body>
<div>
<p>Đoạn văn thứ nhất.</p>
</div>
<div>
Không phải đoạn văn thực sự,
nhưng có một <a href="#">liên kết</a>.
</div>
<p>Một đoạn văn không có
thẻ div bao ngoài.</p>
</body>
</html>

<html>
<body>
<div>
<p>Đoạn văn thứ nhất.</p>
</div>
<div>
Không phải đoạn văn thực sự,
nhưng có một <a href="#">liên kết</a>.
</div>
<p>Một đoạn văn không có
thẻ div bao ngoài.</p>
</body>
</html>

<html>
<body>
<div>
<p>Đoạn văn thứ nhất.</p>
</div>
<div>
Không phải đoạn văn thực sự,
nhưng có một <a href="#">liên kết</a>.
</div>
<p>Một đoạn văn không có
thẻ div bao ngoài.</p>
</body>
</html>
html <- read_html(html_document)html_children(html)
{xml_nodeset (1)}
[1] <body>\n <div>\n < ...
html %>% html_children()
html %>% html_children() %>% html_text()
[1] "\n \n The first paragraph.\n
\n \n Not an actual paragraph, \n
but with a link.\n \n A paragraph ...
<html>
<body>
<div>
<p>Đoạn văn thứ nhất.</p>
</div>
<div>
Không phải đoạn văn thực sự,
nhưng có một <a href="#">liên kết</a>.
</div>
<p>Một đoạn văn không có
thẻ div bao ngoài.</p>
</body>
</html>
html <- read_html(html_document)html %>% html_element('body')
{xml_nodeset (1)}
[1] <body>\n <div>\n < ...
html %>% html_elements('div p')
{xml_nodeset (1)}
[1] <p>Đoạn văn thứ nhất.</p>
<html>
<body>
<div>
<p>Đoạn văn thứ nhất.</p>
</div>
<div>
Không phải đoạn văn thực sự,
nhưng có một <a href="#">liên kết</a>.
</div>
<p>Một đoạn văn không có
thẻ div bao ngoài.</p>
</body>
</html>
html %>% html_elements('p')
{xml_nodeset (2)}
[1] <p>Đoạn văn thứ nhất.</p>
[2] <p>Một đoạn văn không có thẻ bao...</p>
html %>% html_elements('div') %>%
html_elements('p')
{xml_nodeset (1)}
[1] <p>Đoạn văn thứ nhất.</p>
html %>%
html_element('a') %>%
html_attr('href')
[1] #
html %>%
html_element('a') %>%
html_attrs()
href
"#"
Web Scraping bằng R