Scrapy, Selectors, XPath, CSS

Kategori: Python , 14 Eylül 2019 , JanFranco


Bu yazımda XPath Selector kullanımını kısaca anlatacağım. VSCode uygulamasını açalım, aşağıdaki komutları girelim:


activate <Anaconda-dir>
scrapy shell "http://quotes.toscrape.com/page/1/"
Web sayfasının title'ını almak için aşağıdaki komutları kullanabiliriz:


response.css('title')
response.css('title').extract()
response.css('title::text').extract()
response.css('title::text').extract()[0]
response.css('title::text').extract_first()
>>
[<Selector xpath='descendant-or-self::title' data='<title>Quotes to Scrape</title>'>]
['<title>Quotes to Scrape</title>']
['Quotes to Scrape']
'Quotes to Scrape'
'Quotes to Scrape'
İlk satırda başlık bilgisi, html tagleri ve xpath'i gelmekte. İkinci satırda başlık ve html tagleri gelmekte. Üçüncü satırda ise sadece başlık bilgisi gelmektedir. Dördüncü satırda bir index değeri de verdik. extract() methodu bir liste döndürür. İlk elemanı alacaksak ve index girmek istemiyorsak extract_first() methodunu da kullanabiliriz. CSS'e göre değil XPath'e göre de alabiliriz:


response.xpath('//title')
response.xpath('//title').extract_first()
response.xpath('//title/title').extract_first()
>>
>>
[<Selector xpath='//title' data='<title>Quotes to Scrape</title>'>]
'<title>Quotes to Scrape</title>'
'Quotes to Scrape'


Sonraki Yazı: Scrapy, Writing Data to Json File
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın