CSS birleştiricileri

R ile Web Kazıma

Timo Grossenbacher

Instructor

Dört farklı birleştirici vardır

Yapı: h2#someid {space|>|+|~} .someclass

space: Torun birleştirici

>: Çocuk birleştirici

+: Bitişik kardeş birleştirici

~: Genel kardeş birleştirici

R ile Web Kazıma

Torun ve çocuk birleştiriciler

<html>
  <body>
    <div class = 'first'>
      <a>Bir bağlantı.</a>
      <p>İlk paragraf, içinde 
        <a>başka bir bağlantı</a>.
      </p>
    </div>
    <div>
      Gerçek bir paragraf değil, 
      ama içinde bir <a href="#">bağlantı</a> var.
    </div>
  </body>
</html>
html %>% 
    html_elements('div.first a')
{xml_nodeset (2)}
[1] <a>Bir bağlantı.</a>
[2] <a>başka bir bağlantı</a>
html %>% 
    html_elements('div.first > a')
{xml_nodeset (1)}
[1] <a>Bir bağlantı.</a>
R ile Web Kazıma

Kardeş birleştiriciler

<html>
  <body>
    <div class = 'first'>
      <a>Bir bağlantı.</a>
      <p>İlk paragraf, içinde 
        <a>başka bir bağlantı</a>.
      </p>
    </div>
    <div>
      Gerçek bir paragraf değil, 
      ama içinde bir <a href="#">bağlantı</a> var.
    </div>
    <p>Bir paragraf.</p>
  </body>
</html>
html %>% html_elements('div.first + div')
{xml_nodeset (1)}
[1] <div>\n Gerçek bir...
html %>% html_elements('div.first ~ div')
{xml_nodeset (1)}
[1] <div>\n Gerçek bir...
html %>% html_elements('div.first ~ *')
{xml_nodeset (2)}
[1] <div>\n Gerçek bir... [2] <p>Bir paragraf...
R ile Web Kazıma

Birleştiriciler ne zaman işe yarar

...
    <div id = 'start'>
      <h1 class = 'first'>İlk</h1>
    </div>
    <div id = 'end'>
      <p class = 'text1'>Biraz metin.</p>
      <p class = 'text2'>Daha fazla metin.</p>
    </div>
...
html %>% html_elements('.text2')
{xml_nodeset (1)}
[1] <p class="text2">Daha fazla metin.</p>
...
    <div>
      <h1>İlk</h1>
    </div>
    <div>
      <p>Biraz metin.</p>
      <p>Daha fazla metin.</p>
    </div>
...
html %>% html_elements('p + p')
{xml_nodeset (1)}
[1] <p>Daha fazla metin.</p>
R ile Web Kazıma

Haydi pratik yapalım!

R ile Web Kazıma

Preparing Video For Download...