Scrapy Part 1, Setup & Configuration

Apa itu scrapy ?

scrapy adalah salah tools canggih yang digunakan untuk melakukan web scrapper.

Web scraping, sering disebut web crawling atau web spidering.Dengan scraper web, Anda dapat menambang data tentang serangkaian produk, mendapatkan teks atau data kuantitatif, mendapatkan data dari situs tanpa API resmi, atau hanya memuaskan keingintahuan pribadi Anda sendiri.

secara sederhana scraping bisa dilakukan melalui dua tahap :

  1. mendownload halaman web
  2. mengambil halaman web tersebut dan mengekstrak informasi yang ada di dalamnya.

Instalasi scrapy

pastikan di komputermu sudah terinstal python 2.7

install virtual environment jika belum menginstall virtual environment kamu dapat membaca artikel sebelumnya

jika di komputermu python start defaultnya adalah python 3.x kamu dapat mengikuti langkah di bawah ini

mkvirtualenv version

kemudian install scrapy dengan pip

install scrapy

buat sebuah project dengan nama tutorial

create project scrapy

structur directory framework scrapy

sekarang buat sebuah spiders dengan nama quotes_spider.py letakan di di dalam direktory tutorial/spiders

import scrapy
 
 
class QuotesSpider(scrapy.Spider):
    name = "quotes"
 
    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1/',
            'http://quotes.toscrape.com/page/2/',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)
 
    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'quotes-%s.html' % page
        with open(filename, 'wb') as f:
            f.write(response.body)
        self.log('Saved file %s' % filename)

sekarang jalan kode diatas dan pindah ke main directory project tutorial

scrapy crawl quotes

untuk melihat hasil akhirnya perhatikan gambar di bawah ini

good lucks 🙂

doc : https://doc.scrapy.org

download source : https://github.com/alfinfanther/scrapy_tutorial

 

mm

Alfin F

Technopreneur , Developer, Advisor

More Posts

Follow Me:
TwitterLinkedIn