Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Deploy Scrapy Spider บน ScrapingHub

Scrapy Spider คืออะไร?

Scrapy Spider เป็นคลาสที่ให้ความสามารถในการตามลิงก์เว็บไซต์และดึงข้อมูลจากหน้าเว็บ เป็นคลาสหลักที่ Spider อื่นๆ ต้องสืบทอดมา

ScrapingHub คืออะไร?

ScrapingHub เป็นแอปพลิเคชันโอเพนซอร์สสำหรับรัน Scrapy spiders บนคลาวด์ แปลงเนื้อหาเว็บเป็นข้อมูลที่ใช้งานได้ แม้เว็บซับซ้อนก็ดึงข้อมูลได้

ขั้นตอน Deploy Spider บน ScrapingHub

ขั้นตอน 1: สร้าง Scrapy Project

$ scrapy startproject 
$ cd 

ขั้นตอน 2: เขียน Spider

ตัวอย่าง spider เรียบง่ายสำหรับ quotes.toscrape.com:

import scrapy

class AllSpider(scrapy.Spider):
    crawled = set()
    name = 'all'
    start_urls = ['https://www.tutorialspoint.com/']
    
    def __init__(self):
        self.links = []
    
    def parse(self, response):
        self.links.append(response.url)
        for href in response.css('a::attr(href)'):
            yield response.follow(href, self.parse)

ขั้นตอน 3: รันและบันทึกผลลัพธ์

$ scrapy crawl all -o links.json

ขั้นตอน 4: สร้างบัญชี ScrapingHub

  1. Login ด้วย Gmail หรือ GitHub
  2. สร้าง Project ใหม่
  3. เพิ่มโปรเจกต์ผ่าน CLI หรือ GitHub

ขั้นตอน 5: ติดตั้งและ Login shub CLI

$ pip install shub
$ shub login
# ใส่ API Key จาก https://app.scrapinghub.com/account/apikey

ขั้นตอน 6: Deploy

$ shub deploy 
# deploy_id คือหมายเลข 6 หลักในหน้า "Deploy your code"

ขั้นตอน 7: รัน Spider บน Dashboard

เข้า Spiders dashboard → คลิกชื่อ spider → กด Run → ดูความคืบหน้า real-time

ประโยชน์

  • รัน spider 24/7 โดยไม่ต้องเปิดเครื่อง_local
  • ดู logs และ stats แบบ real-time
  • จัดการหลาย project/spider ได้
  • Export ข้อมูลหลายรูปแบบ (JSON, CSV, Excel)
  • ตั้งค่า scheduling รันอัตโนมัติ

หมายเหตุ

ScrapingHub ปัจจุบันเรียกว่า Zyte (zyte.com) ฟีเจอร์หลักยังคงเหมือนเดิมแต่ UI และราคาอาจเปลี่ยนแปลง