Scrapy Spider
Scrapy spider là một class cung cấp cơ chế theo dõi liên kết của trang web và trích xuất thông tin từ các trang web.
Đây là class chính mà các spider khác phải kế thừa.
ScrapingHub
ScrapingHub là ứng dụng mã nguồn mở để chạy Scrapy spider. ScrapingHub biến nội dung web thành dữ liệu hoặc thông tin hữu ích. Nó cho phép trích xuất dữ liệu từ trang web, ngay cả các trang phức tạp.
Chúng ta sẽ dùng ScrapingHub để triển khai và chạy Scrapy spider trên đám mây.
Các bước triển khai spider lên ScrapingHub:
Bước 1
Tạo một dự án Scrapy:
Sau khi cài đặt Scrapy, chạy lệnh sau trong terminal:
$scrapy startproject
Chuyển thư mục vào dự án mới (project_name).
Bước 2
Viết một Scrapy spider cho trang web mục tiêu, ví dụ trang web phổ biến "quotes.toscrape.com".
Dưới đây là spider Scrapy rất đơn giản của tôi:
Mã
# import scrapy library
import scrapy
class AllSpider(scrapy.Spider):
crawled = set()
# Tên spider
name = 'all'
# URL bắt đầu
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)
Bước 3
Chạy spider và lưu đầu ra vào file links.json:
Sau khi chạy mã trên, bạn sẽ cào được tất cả liên kết và lưu vào links.json. Quá trình này có thể không lâu nhưng để chạy liên tục 24/7, cần triển khai spider lên ScrapingHub.
Bước 4
Tạo tài khoản trên ScrapingHub
Đăng nhập trang ScrapingHub bằng Gmail hoặc GitHub. Sẽ chuyển đến dashboard.

Nhấn Create project và đặt tên dự án. Có thể thêm dự án lên đám mây qua dòng lệnh (CLI) hoặc GitHub. Tiếp theo triển khai code qua shub CLI, trước tiên cài shub:
$pip install shub
Sau khi cài shub, đăng nhập tài khoản shub bằng API key tạo khi tạo tài khoản (API key từ https://app.scrapinghub.com/account/apikey).
$shub login
Nếu API key OK, bạn đã đăng nhập. Bây giờ cần triển khai dùng deploy ID, số 6 chữ số thấy ở phần "deploy your code" của command line.
$ shub deploy deploy_id
Xong phần dòng lệnh, quay lại dashboard Spiders, thấy spider sẵn sàng. Nhấn tên spider và nút Run. Xong, giờ bạn thấy spider trên dashboard, kiểu như:

Sẽ hiển thị tiến trình chạy chỉ với một click, không cần chạy máy cục bộ 24/7.