R 语言网页抓取
Timo Grossenbacher
Instructor
...
<ol>
<li>第一个元素。</li>
<li>第二个元素。</li>
<li>第三个元素。</li>
<li>第四个元素。</li>
<li>第五个元素。</li>
</ol>
...
html %>%
html_elements(xpath =
'//ol/li[position() = 2]')
# Equivalent CSS selector:
# ol > li:nth-child(2)
{xml_nodeset (1)}
[1] <li>第二个元素。</li>
...
<ol>
<li>第一个元素。</li>
<li>第二个元素。</li>
<li>第三个元素。</li>
<li>第四个元素。</li>
<li>第五个元素。</li>
</ol>
...
html %>%
html_elements(xpath =
'//ol/li[position() < 3]')
{xml_nodeset (2)}
[1] <li>第一个元素。</li>
[2] <li>第二个元素。</li>
...
<ol>
<li>第一个元素。</li>
<li>第二个元素。</li>
<li>第三个元素。</li>
<li>第四个元素。</li>
<li>第五个元素。</li>
</ol>
...
html %>%
html_elements(xpath =
'//ol/li[position() != 3]')
{xml_nodeset (4)}
[1] <li>第一个元素。</li>
[2] <li>第二个元素。</li>
[3] <li>第四个元素。</li>
[4] <li>第五个元素。</li>
...
<ol>
<li class = 'blue'>第一个元素。</li>
<li>第二个元素。</li>
<li class = 'blue'>第三个元素。</li>
<li>第四个元素。</li>
<li class = 'blue'>第五个元素。</li>
</ol>
...
html %>%
html_elements(xpath =
'//ol/li[position() != 3 and @class = "blue"]')
{xml_nodeset (2)}
[1] <li class="blue">第一个元素。</li>
[2] <li class="blue">第五个元素。</li>
html %>%
html_elements(xpath =
'//ol/li[position() != 3 or @class = "blue"]')
{xml_nodeset (5)}
...
...
<ol>
<li class = 'blue'>第一个元素。</li>
<li>第二个元素。</li>
<li class = 'blue'>第三个元素。</li>
</ol>
<ol>
<li class = 'red'>第一个元素。</li>
<li>第二个元素。</li>
</ol>
...
html %>%
html_elements(xpath = '//ol[count(li) = 2]')
{xml_nodeset (1)}
[1] <ol>\n<li class="red">...
html %>%
html_elements(xpath = '//ol[count(li) > 2]')
{xml_nodeset (1)}
[1] <ol>\n<li class="blue">...
R 语言网页抓取