Lập trìnhBả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
Trường học trực tuyến, trang tổng hợp khóa học và người so sánh các chương trình đào tạo dùng parser này để đưa một danh mục khóa học công khai vào bảng: tên khóa học, trường, chủ đề, trình độ, hình thức, thời lượng, ngày khai giảng, giá và giá cũ, số bài học, điểm đánh giá như hiển thị và liên kết. Hãy gửi trang danh mục, một trang khóa học và một hai trang đã lưu từ trình duyệt. Bạn nhận code Python, file cài đặt và README, và chạy trên máy tính của mình. Parser chép những gì các trang ghi; không đánh giá chất lượng khóa học hay hứa hẹn kết quả học tập. Tên giảng viên và đánh giá của học viên được để ngoài, nên bảng không chứa dữ liệu cá nhân. Parser đọc các trang mở công khai với tốc độ vừa phải và không bao giờ đăng nhập hay vượt captcha hoặc cơ chế bảo vệ. Bạn tự quyết định điều khoản của website có cho phép hay không; nếu sau này website đổi bố cục thì parser cần được cập nhật.
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.
- Giá để so sánhGiá, giá cũ và trả góp ở các cột riêng
- Thời lượng và hình thứcSố tuần hoặc số giờ, học trực tiếp hay video quay sẵn, như trang ghi
- Chủ đề và trình độỞ các cột riêng để lọc
- 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
Cách hoạt động
- 1Danh mục hàngBạn gửi danh mục và một trang khóa học đã lưu
- 2ParserChúng tôi viết code và hướng dẫn chạy
- 3ChạyBạn chạy parser và so vài khóa học với website
- 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 danh mục khóa học và một trang khóa học, và ước chừng có bao nhiêu khóa học. Các trường theo thứ tự trong bảng, VD: tên, trường, chủ đề, trình độ, hình thức, thời lượng, ngày khai giảng, giá, giá cũ, liên kết. 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. CSV hay Excel.
Chúng tôi sẽ hỏi bạn:
- Website và các trang nào?
- Các trường bạn cần
- Khoảng bao nhiêu khóa học?
- Chỉ một số khóa học?
So sánh các gói
| Các gói | Cơ bảnKhóa học từ liên kết của bạn569.000 ₫ | Tiêu chuẩnToàn bộ danh mục1.138.000 ₫ | Cao cấpTối đa 3 trường2.032.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 mục và trang khóa học) | 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
Parser có mở được các bài học bên trong khóa học không?
Không. Bài học nằm sau phần đăng nhập của học viên, và parser không bao giờ đăng nhập. Parser chỉ đọc trang danh mục và trang khóa học công khai.
Parser có thu thập tên giảng viên hay đánh giá của học viên không?
Không. Tên người là dữ liệu cá nhân, nên được để ngoài. Điểm đánh giá dạng số, khi trang có hiển thị, có thể là một cột.
Nếu giá chỉ hiện sau khi chọn gói học hoặc đăng ký thì sao?
Giá nằm sau bước đăng ký thì nằm ngoài tầm với. Nếu trang hiển thị các gói khi bấm vào một tab, parser có thể đọc bằng một thư viện trình duyệt (Playwright).
Thu thập danh mục khóa học có được phép không?
Điều khoản của các website và luật về dữ liệu khác nhau, 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. Google, Amazon, LinkedIn và mạng xã hội luôn nằm ngoài phạm vi.
Chưa tìm thấy câu trả lời?


