scrapy Selector’a giriş

Python ile Web Scraping

Thomas Laetsch

Data Scientist, NYU

Bir Selector kurma

from scrapy import Selector
html = '''
<html>
  <body>
    <div class="hello datacamp">
      <p>Hello World!</p>
    </div>
    <p>Enjoy DataCamp!</p>
  </body>
</html>
'''
sel = Selector( text = html )
  • HTML kodunu içeren bir dizeyle bir scrapy Selector nesnesi oluşturduk

  • sel seçicisi HTML belgesinin tamamını seçti

Python ile Web Scraping

Selector’ları seçmek

  • Selector içinde xpath çağrısını kullanarak HTML kodunun belirli kısımlarına ait yeni Selectorlar oluşturabiliriz

  • Dönen değer Selector nesnelerinden oluşan bir SelectorListtir

sel.xpath("//p")

# şu SelectorList’i döndürür: [<Selector xpath='//p' data='<p>Hello World!</p>'>, <Selector xpath='//p' data='<p>Enjoy DataCamp!</p>'>]
Python ile Web Scraping

Bir SelectorList’ten veri çıkarma

  • extract() yöntemini kullanın
>>> sel.xpath("//p")

out: [<Selector xpath='//p' data='<p>Hello World!</p>'>, <Selector xpath='//p' data='<p>Enjoy DataCamp!</p>'>]
>>> sel.xpath("//p").extract()

out: [ '<p>Hello World!</p>', '<p>Enjoy DataCamp!</p>' ]
  • Listenin ilk öğesini almak için extract_first() kullanabiliriz
>>> sel.xpath("//p").extract_first()

out: '<p>Hello World!</p>'
Python ile Web Scraping

Bir Selector’dan veri çıkarma

ps = sel.xpath('//p')

second_p = ps[1]
second_p.extract()

out: '<p>Enjoy DataCamp!</p>'
Python ile Web Scraping

Bu kursu seçin!

Python ile Web Scraping

Preparing Video For Download...