Bảo vệ thanh toánChi tiết
- Chỉnh sửa trong phạm vi gói là miễn phí.
- Nếu bạn không phản hồi trong vòng 3 ngày sau khi bàn giao, kết quả sẽ được tự động chấp nhận.
Số tiền được tạm giữ khi bạn thanh toán và chỉ được chuyển khi bạn chấp nhận kết quả.

Ví dụ kết quả
Parser danh mục hàng của nhà cung cấp dụng cụ làm vườn ra Excel
Kết quả trông thế nào
| Mã hàng | Tên | Giá | Còn hàng | Trọng lượng | Ảnh |
|---|---|---|---|---|---|
| GT-1042 | Kéo cắt cành, 20 mm | 18,90 | Có | 0,24 kg | …/gt-1042.jpg |
| GT-1187 | Cưa gấp, 210 mm | 24,50 | Có | 0,31 kg | …/gt-1187.jpg |
| GT-2210 | Kéo tỉa hàng rào, lưỡi lượn sóng | 39,00 | Không | 1,10 kg | …/gt-2210.jpg |
| GT-3305 | Bay xúc đất cầm tay, thép không gỉ | 9,80 | Có | 0,18 kg | …/gt-3305.jpg |
| GT-4120 | Ống tưới vườn 25 m, 1/2" | 42,00 | Có | 2,90 kg | …/gt-4120.jpg |
File trong ví dụ có 1.236 sản phẩm từ 52 trang danh sách.
Một phần code
def product_links(list_url: str) -> Iterator[str]:
"""Liên kết trang sản phẩm từ mọi trang của danh sách, theo nút “Tiếp”."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""Một trang mở công khai, với tốc độ vừa phải: nghỉ giữa các lần truy cập và thử lại vài lần khi lỗi."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s trả về %s, lần thử %d trên 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} không mở được sau 3 lần thử")
File bàn giao: file ZIP gồm scraper.py, settings.ini (trang bắt đầu, thời gian nghỉ giữa các lần truy cập, tên file), requirements.txt và README hướng dẫn cài đặt và chạy. Parser chỉ đọc các trang mở công khai, mỗi 2 giây một trang, và kiểm tra robots.txt của website trước. Khách hàng tự chạy parser trên máy tính của mình.
Khách hàng: một cửa hàng làm vườn trực tuyến bán lại dụng cụ của một nhà cung cấp; nhà cung cấp có danh mục hàng mở công khai trên website nhưng không có file bảng giá. Yêu cầu: đi qua các trang danh sách của danh mục, mở từng trang sản phẩm và lưu mã hàng, tên, giá, tồn kho, trọng lượng và liên kết ảnh chính vào Excel, để mỗi tuần so sánh giá một lần.
Khách hàng và mọi thông tin đều là giả định.
Về dịch vụ này
Parser thu thập dữ liệu bạn nhìn thấy trên các trang web công khai và lưu thành bảng: giá và tồn kho sản phẩm, danh mục hàng của nhà cung cấp cho cửa hàng của bạn, tin đăng, tin tuyển dụng, sự kiện hoặc bài viết. Hãy cho chúng tôi biết website và các trang cần lấy, liệt kê các trường bạn cần (tên, giá, liên kết, hình ảnh...) và gửi một hai trang đó đã lưu từ trình duyệt (File > Lưu trang thành) hoặc ảnh chụp màn hình. Chúng tôi viết parser bằng Python theo đúng cấu trúc thật của các trang đó, và kết quả được lưu dạng CSV, Excel hoặc JSON. Bạn nhận file nén gồm code, file cài đặt chứa địa chỉ và thời gian nghỉ giữa các trang, cùng README giải thích cách cài Python và chạy parser. Bạn chạy parser trên máy tính của mình, nên dữ liệu về thẳng tay bạn; chúng tôi không thu thập hay lưu dữ liệu đó giúp bạn. Parser chỉ đọc các trang mở công khai, với tốc độ vừa phải, và không bao giờ đăng nhập, vượt captcha hay cơ chế bảo vệ khác, hoặc thu thập dữ liệu cá nhân như tên, email hay số điện thoại của mọi người. Khi website đổi bố cục, parser có thể cần cập nhật. Việc bạn có được phép thu thập và sử dụng dữ liệu của một website theo điều khoản của họ hay không là trách nhiệm của bạn.
Bao gồm những gì
- Bạn nhận được gìFile ZIP gồm code Python, file cài đặt và README hướng dẫn từng bước; code cũng được hiển thị trên trang đơn hàng.
- Trường của bạn, bảng của bạnCác cột theo đúng thứ tự bạn cần
- Dựa trên trang thậtViết theo cấu trúc của các trang bạn gửi
- Tốc độ vừa phảiNghỉ giữa các trang, chỉnh trong file cài đặt
- Chạy trên máy tính của bạnWindows, macOS hoặc Linux, có Python
- Hướng dẫn dễ hiểuCần cài gì và chạy thế nào, từng bước một
Cách hoạt động
- 1Số trangBạn gửi website, các trường cần lấy và một hai trang đã lưu
- 2ParserChúng tôi viết code và hướng dẫn chạy
- 3ChạyBạn chạy và kiểm tra những dòng đầu tiên của bảng
- 4Chỉnh sửaBạn yêu cầu chỉnh sửa trong phạm vi gói và gửi thông báo lỗi nếu có
Chúng tôi cần gì từ bạn
Website và chính xác các trang cần lấy: liên kết tới một trang danh sách và một trang chi tiết, và ước chừng có bao nhiêu trang. Các trường bạn cần, theo thứ tự trong bảng, kèm ví dụ cho từng trường. Một hai trang đó lưu từ trình duyệt dạng HTML (File > Lưu trang thành) hoặc ảnh chụp màn hình, để parser bám theo cấu trúc thật của chúng. Định dạng file kết quả bạn cần (CSV, Excel hoặc JSON) và nơi bạn sẽ chạy parser.
Chúng tôi sẽ hỏi bạn:
- Website nào và những trang nào?
- Các trường bạn cần
- Khoảng bao nhiêu trang?
- File kết quả
- Parser còn cần làm gì khác
So sánh các gói
| Các gói | Cơ bảnParser cho một loại trang678.000 ₫ | Tiêu chuẩnTrang danh sách và trang chi tiết1.328.000 ₫ | Cao cấpNhiều website hoặc loại trang2.411.000 ₫ |
|---|---|---|---|
| Thời hạn | 1 ngày | 2 ngày | 3 ngày |
| Số lần chỉnh sửa | 1 | 2 | 3 |
| Số website | 1 | 1 | tối đa 3 |
| Loại trang | 1 | 2 (danh sách và chi tiết) | tối đa 3 |
| Số trường | tối đa 10 | tối đa 25 | tối đa 25 mỗi loại |
| Đi qua các trang của danh sách | Không | Có | Có |
| File kết quả | CSV | Excel hoặc CSV | Excel, CSV hoặc JSON |
| Bỏ dòng trùng, chạy tiếp từ chỗ đã dừng | Không | Không | Có |
| Đặt hàng Cơ bản | Đặt hàng Tiêu chuẩn | Đặt hàng Cao cấp |
Bảo vệ thanh toán
Bạn thanh toán khi đặt hàng, nhưng tiền chỉ được chuyển cho kết quả đã được chấp nhận.
- Giá cố địnhGiá gói không thay đổi sau khi bạn thanh toán.
- Số tiền được tạm giữKhi bạn thanh toán, số tiền chỉ được tạm giữ. Tiền được chuyển cho dịch vụ khi bạn chấp nhận kết quả.
- Kiểm tra trước khi bàn giaoMọi kết quả đều được kiểm tra chất lượng trước khi đến tay bạn, và bạn xem được kết quả trên trang đơn hàng trước khi chấp nhận.
- Chỉnh sửa miễn phíYêu cầu chỉnh sửa trong phạm vi bản yêu cầu của bạn, với số lần mà gói cho phép.
- Tự động chấp nhận sau 3 ngàyNếu trong vòng 3 ngày sau khi bàn giao, bạn không chấp nhận kết quả cũng không yêu cầu chỉnh sửa, kết quả sẽ được tự động chấp nhận. Nếu bạn nhắn tin trong chat đơn hàng sau khi bàn giao, đơn hàng sẽ chờ; sau khi trả lời, chúng tôi có thể tính lại 3 ngày từ đầu và sẽ thông báo trong chat.
- Làm lại hoặc hoàn tiền toàn bộNếu kết quả không đúng với yêu cầu của bạn và các lần chỉnh sửa không khắc phục được, hoặc công việc kéo dài quá gấp đôi thời hạn, hãy nhắn tin trong chat đơn hàng: chúng tôi sẽ làm lại hoặc hoàn tiền toàn bộ.
Hỏi đáp
Thu thập dữ liệu từ website có hợp pháp không?
Thu thập dữ liệu công khai được phép trong nhiều trường hợp, nhưng điều khoản sử dụng của các website và luật về dữ liệu khác nhau giữa các quốc gia, nên bạn tự quyết định mình có được thu thập và sử dụng dữ liệu hay không. Parser không bao giờ đăng nhập, vượt cơ chế bảo vệ hay thu thập dữ liệu cá nhân, nên luôn ở phía an toàn.
Các bạn có thu thập dữ liệu giúp tôi không?
Không. Bạn nhận parser và tự chạy, nên kết quả về thẳng tay bạn và bạn có thể chạy lại bất cứ khi nào cần dữ liệu mới.
Nếu website thay đổi hoặc chặn parser thì sao?
Parser hoạt động theo các trang như hiện tại. Nếu sau này website đổi bố cục, parser cần được cập nhật, đó là một đơn hàng mới. Parser đọc với tốc độ vừa phải, nhưng website vẫn có thể giới hạn lượt truy cập; parser không vượt qua những giới hạn đó.
Parser có lấy được dữ liệu từ Amazon, Google hay mạng xã hội không?
Không. Điều khoản của họ cấm thu thập dữ liệu theo cách này, nhiều trang cần đăng nhập và chứa dữ liệu cá nhân của mọi người. Với những dữ liệu như vậy, hãy dùng API chính thức hoặc chức năng xuất dữ liệu của dịch vụ.
Tôi có cần biết lập trình không?
Không. README giải thích cách cài Python một lần, cài những gì parser cần bằng một lệnh và chạy parser. Với các trang tạo nội dung bằng JavaScript, parser dùng thư viện trình duyệt (Playwright), README cũng hướng dẫn phần này.
Chưa tìm thấy câu trả lời?