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
- Login ด้วย Gmail หรือ GitHub
- สร้าง Project ใหม่
- เพิ่มโปรเจกต์ผ่าน 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 และราคาอาจเปลี่ยนแปลง