Parser lịch sự kiệnPhát triển & tùy chỉnh

Một parser Python thu thập lịch sự kiện và hòa nhạc công khai vào bảng: ngày, địa điểm, thành phố, giá và liên kết

Thường xong trong 15 phútBao gồm chỉnh sửaKiểm tra chất lượng
Các gói
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ả.

Một parser Python thu thập lịch sự kiện và hòa nhạc công khai vào bảng: ngày, địa điểm, thành phố, giá và liên kết

Ví dụ kết quả

Ví dụ cho gói Tiêu chuẩn

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àngTênGiáCòn hàngTrọng lượngẢnh
GT-1042Kéo cắt cành, 20 mm18,90Có0,24 kg…/gt-1042.jpg
GT-1187Cưa gấp, 210 mm24,50Có0,31 kg…/gt-1187.jpg
GT-2210Kéo tỉa hàng rào, lưỡi lượn sóng39,00Không1,10 kg…/gt-2210.jpg
GT-3305Bay xúc đất cầm tay, thép không gỉ9,80Có0,18 kg…/gt-3305.jpg
GT-4120Ống tưới vườn 25 m, 1/2"42,00Có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

Trang hướng dẫn thành phố, địa điểm tổ chức và đơn vị tổ chức dùng parser này để gom lịch sự kiện công khai vào một bảng: tên sự kiện, thể loại, ngày và giờ bắt đầu, địa điểm, thành phố, giá từ, giới hạn tuổi, liên kết vé và liên kết hình ảnh. Hãy gửi trang lịch sự kiện của website, như của một địa điểm, một trang hướng dẫn thành phố hay một website bán vé, một trang sự kiện và một hai trang đã lưu từ trình duyệt. Chúng tôi viết code bằng Python; bạn nhận code kèm file cài đặt và README và chạy trên máy tính của mình trước khi cập nhật lịch của chính bạn. Parser không mua vé, không kiểm tra chỗ trống và không thu thập dữ liệu cá nhân của người tổ chức hay khách tham dự. 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, và 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.
  • Ngày sắp xếp đượcNgày và giờ cùng một định dạng, để bảng sắp xếp được theo ngày
  • Liên kết véLiên kết tới trang riêng của sự kiện hoặc trang bán vé
  • Liên kết hình ảnhÁp phích dưới dạng liên kết; chỉ dùng khi bạn được phép
  • 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

  1. 1
    Lịch sự kiệnBạn gửi trang lịch sự kiện và một trang sự kiện đã lưu
  2. 2
    ParserChúng tôi viết code và hướng dẫn chạy
  3. 3
    ChạyBạn chạy parser và kiểm tra ngày của các sự kiện đầu tiên
  4. 4
    Chỉ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 trang lịch sự kiện và một trang sự kiện, và ước chừng có bao nhiêu sự kiện. Các trường bạn cần theo thứ tự trong bảng, VD: tên, thể loại, ngày, giờ, địa điểm, thành phố, giá từ, 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. Định dạng ngày bạn muốn, và 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 sự kiện?
  • Chỉ một số sự kiện?

So sánh các gói

Các góiCơ bảnSự kiện từ một trang lịch569.000 ₫Tiêu chuẩnTrang lịch và trang sự kiện1.111.000 ₫Cao cấpTối đa 3 địa điểm hoặc website2.032.000 ₫
Thời hạn1 ngày2 ngày3 ngày
Số lần chỉnh sửa123
Số website11tối đa 3
Loại trang12 (trang lịch và trang sự kiện)tối đa 3
Số trườngtối đa 10tối đa 25tối đa 25 mỗi loại
Đi qua các trang của danh sáchKhôngCóCó
File kết quảCSVExcel hoặc CSVExcel, CSV hoặc JSON
Bỏ dòng trùng, chạy tiếp từ chỗ đã dừngKhôngKhôngCó
Đặ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ộ.
Cách hoạt động →

Hỏi đáp

Parser có kiểm tra được chỗ nào còn trống không?

Không. Sơ đồ chỗ ngồi mở bên trong quy trình bán vé, thường sau captcha hoặc đăng nhập, và parser không bao giờ vào đó. Parser lấy giá từ và liên kết vé đúng như trang hiển thị.

Tôi có được đăng lại mô tả và áp phích không?

Nội dung và áp phích thuộc về chủ sở hữu, nên hãy xin phép họ hoặc chỉ dùng thông tin ngắn gọn kèm liên kết. Parser thu thập chúng; đăng gì là quyết định của bạn.

Parser có đọc được sự kiện từ mạng xã hội hay Google không?

Không. Mạng xã hội, LinkedIn, Google và Amazon nằm ngoài phạm vi: điều khoản của họ cấm việc này và nhiều trang cần đăng nhập. Với các website khác, bạn tự quyết định điều khoản của họ có cho phép hay không.

Nếu website thay đổi trang lịch sự kiện thì sao?

Parser bám theo các trang như hiện tại. Nếu sau này đổi bố cục, parser cần được cập nhật, đó là một đơn hàng mới.

Chưa tìm thấy câu trả lời?

Các gói