Membuat Web Scrapping Menggunakan Scrapy

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan

Scrapy adalah kerangka kerja aplikasi untuk crawling web site dan mengekstraksi data terstruktur yang dapat digunakan untuk berbagai aplikasi yang bermanfaat, seperti data mining, pemrosesan informasi atau arsip sejarah.

Meskipun Scrapy awalnya dirancang untuk web scraping, namu scrapy juga dapat digunakan untuk mengekstrak data menggunakan API (seperti Amazon Associates Web Services) atau sebagai web crawl.

Walk-through of an example spider

Untuk menunjukkan kepada Anda apa yang dapat Scrapy lakukan, kami akan memandu Anda melalui contoh spider sederhana berikut.
Berikut kode spider untuk mengambil kutipan terkenal dari situs web http://quotes.toscrape.com :

import scrapy

class QuotesSpider(scrapy.Spider):
name = "quotes"
start_urls = [
'http://quotes.toscrape.com/tag/humor/',
]

def parse(self, response):
for quote in response.css('div.quote'):
yield {
'text': quote.css('span.text::text').extract_first(),
'author': quote.xpath('span/small/text()').extract_first(),
}

next_page = response.css('li.next a::attr("href")').extract_first()
if next_page is not None:
yield response.follow(next_page, self.parse)

 

simpan code script diatas dengan nama quotes_spider.py dan jalankan spider menggunakan

scrapy runspider quotes_spider.py -o quotes.json

 

ketika ini selesai anda akan mendapatkan sebuah file dengan nama quoate.json dan isi file tersebut seperti di bawah ini :

[{
"author": "Jane Austen",
"text": "\u201cThe person, be it gentleman or lady, who has not pleasure in a good novel, must be intolerably stupid.\u201d"
},
{
"author": "Groucho Marx",
"text": "\u201cOutside of a dog, a book is man's best friend. Inside of a dog it's too dark to read.\u201d"
},
{
"author": "Steve Martin",
"text": "\u201cA day without sunshine is like, you know, night.\u201d"
},
...]

dari sample code diatas, scrapy cukup menarik untuk di pelajari ? :)

referensi

baca artikel lainya :