Έκανα Benchmark στο Colly σε 17 Σελίδες χωρίς Browser — Να τι σημαίνει πραγματικά το «γρήγορο Go Scraper»

Τελευταία ενημέρωση στις July 17, 2026
Έκανα Benchmark στο Colly σε 17 Σελίδες χωρίς Browser — Να τι σημαίνει πραγματικά το «γρήγορο Go Scraper»
Σύνοψη AI
Αυτή η κριτική του Colly δοκιμάζει τον Go crawler στα ίδια benchmark fixtures που χρησιμοποιούνται στη σειρά για open-source scrapers. Επιβεβαιώνει τα δυνατά σημεία του Colly σε εργασίες HTTP-first: εξαγωγή στατικού καταλόγου, ανάλυση άρθρων, λήψη JSON API, χειρισμό σφαλμάτων και crawl graph με περιορισμένο βάθος. Η κριτική βάζει επίσης καθαρό όριο στο εργαλείο: το Colly δεν αποδίδει JavaScript, οπότε οι σελίδες που βασίζονται μόνο σε JS επέστρεψαν μηδέν cards στα tests. Το αποτέλεσμα είναι μια ρεαλιστική εικόνα του Colly ως γρήγορου, ελαφριού crawler για server-rendered σελίδες και APIs, όχι ως framework αυτοματοποίησης browser ούτε ως καθολικό modern-web scraper.

Αν ψάξετε το «Colly», η πρώτη λέξη που θα δείτε σχεδόν πάντα είναι η ίδια: γρήγορο. Γρήγορος Go crawler, γρήγορο επειδή γίνεται compile, γρήγορο επειδή δεν παρεμβάλλεται browser. Σχεδόν κανείς όμως δεν το συνοδεύει με νούμερα.

Έτσι, σταμάτησα να το παίρνω ως δεδομένο. Έστησα ένα μικρό δοκιμαστικό site, έτρεξα το Colly πάνω του και είδα τι έκανε πραγματικά η βιβλιοθήκη — πόσο καλά έπιανε δεδομένα από αληθινές σελίδες, πώς χειριζόταν ένα αποτυχημένο request, μέχρι πού έφτανε ένα crawl με περιορισμένο βάθος. Η σύντομη εκδοχή, πριν μπούμε στα νούμερα: η εξαγωγή από στατικές σελίδες είχε πλήρη κάλυψη, το 500 κατέληξε ακριβώς εκεί που έπρεπε, και ένα crawl με όριο βάθους έφτασε τις 17 σελίδες από ένα μόνο static binary χωρίς browser. Η βιβλιοθήκη επέστρεψε επίσης καθαρό μηδέν σε κάθε σελίδα που αποδίδεται με JavaScript — κάτι που βολικά συνήθως παραλείπεται όταν γίνεται λόγος για το πόσο «γρήγορο» είναι.

Τι είναι πραγματικά το Colly — και τι δεν είναι

Colly single Go binary

Το Colly παρουσιάζεται ως «elegant scraper and crawler framework for Golang», και αυτή η φράση λέει περισσότερα απ’ όσα φαίνονται με την πρώτη ματιά. Πρόκειται για βιβλιοθήκη Go — με περίπου ~25.4k stars στις 2026-07-09 στο gocolly/colly, με άδεια Apache-2.0. Δεν είναι ένα command-line εργαλείο που το κατεβάζετε και το στρέφετε σε ένα URL. Γράφετε κώδικα Go, κάνετε import το package, συνδέετε μερικά callbacks και το μετατρέπετε σε ένα ενιαίο εκτελέσιμο.

Το νοητικό μοντέλο είναι event-driven, και αυτό μπερδεύει όσους έχουν συνηθίσει το κλασικό request-and-parse. Δεν περνάτε μια response γραμμή-γραμμή για να τραβήξετε πεδία. Συνδέετε handlers σε ένα Collector και αφήνετε τη βιβλιοθήκη να τα ενεργοποιεί καθώς διασχίζει τις σελίδες. Το OnHTML εκτελεί τον κώδικα εξαγωγής σας κάθε φορά που εμφανίζεται ένα ταιριαστό CSS selector. Το OnResponse σας δίνει το ακατέργαστο σώμα της απάντησης, κάτι πολύ χρήσιμο όταν το payload είναι JSON και όχι HTML. Το OnError πιάνει τα request που αποτυγχάνουν. Το crawling λειτουργεί με τον ίδιο τρόπο: μέσα σε έναν handler για links, καλείτε Visit() στα URLs που βρίσκετε, το Colly τα βάζει στην ουρά και το MaxDepth ορίζει πόσο μακριά επιτρέπεται να πάει. Callbacks, ουρά επισκέψεων, όριο βάθους, static compile. Όχι interpreter, όχι runtime, όχι headless Chrome να τρέχει στη μνήμη.

Το μοντέλο των callbacks και γιατί αλλάζει το πώς νιώθει η εξαγωγή δεδομένων

Τα callbacks είναι η ίδια η ταυτότητα του εργαλείου, οπότε αξίζει να σταθούμε λίγο σε αυτά. Τρία από αυτά κάλυψαν όλα τα tests που έτρεξα.

Το OnHTML(selector, handler) είναι αυτό που θα χρησιμοποιήσετε πιο συχνά. Το δηλώνετε σε .product ή article p, και το Colly καλεί τον handler σας μία φορά για κάθε στοιχείο που ταιριάζει, την ώρα που αναλύει το DOM. Εδώ ζει η δομημένη εξαγωγή δεδομένων, και διαβάζεται εύκολα — περιγράφετε τι θέλετε, όχι το loop που θα το μαζέψει.

Το OnResponse(handler) βρίσκεται ένα επίπεδο πιο κάτω και σας δίνει τα ακατέργαστα bytes από το δίκτυο. Όταν ένας στόχος επιστρέφει JSON αντί για markup, δεν ακουμπάτε καθόλου το DOM — κάνετε μόνοι σας unmarshal το body. Αυτό το μοναδικό callback είναι ο λόγος που το Colly χειρίστηκε ένα JSON API στο δικό μου run χωρίς να χρειαστεί να αναλύσει ούτε ψίχουλο HTML.

Το OnError(handler) είναι το callback που όλοι ξεχνάνε μέχρι να πεθάνει ένας scraper στις 3 το πρωί. Ενεργοποιείται όταν αποτύχει ένα request και σας δίνει τη response ώστε να δείτε τον status code και να αποφασίσετε τι θα γίνει μετά. Ένας crawler που καταπίνει σιωπηλά τα failures είναι χειρότερος από έναν που σκάει θορυβωδώς· το Colly δεν κάνει ούτε το ένα ούτε το άλλο, και αυτό έχει μεγαλύτερη σημασία απ’ όσο ακούγεται όταν η δουλειά τρέχει χωρίς επίβλεψη.

Δύο ακόμα χαρακτηριστικά “χτίζονται” πάνω σε αυτά τα callbacks και έχουν πρακτική σημασία. Το MaxDepth βάζει όριο στο crawl, ώστε ένας collector που ακολουθεί links να σταματά δύο βήματα πιο πέρα αντί να κάνει βόλτα σε όλο το ανοιχτό web. Και το build output είναι ένα μοναδικό static Go binary — κάνετε compile μία φορά, παίρνετε ένα αρχείο χωρίς runtime dependencies, το πετάτε σε server ή σε CI job και το τρέχετε. Αν έχετε χάσει ποτέ ένα απόγευμα παλεύοντας με Python virtualenv σε καθαρό μηχάνημα, αυτό το deployment profile ακούγεται σαν πλεονέκτημα, όχι σαν υποσημείωση.

Ρύθμιση — το Go toolchain που κανείς δεν αναφέρει

Η ιστορία των dependencies είναι μικρή, αλλά έχει ένα πραγματικό αγκάθι, οπότε ας το πούμε πριν εγκαταστήσετε οτιδήποτε. Το μηχάνημα που δοκίμασα δεν είχε καθόλου Go, και το Colly είναι βιβλιοθήκη Go, άρα το βήμα μηδέν ήταν να βάλω toolchain στο σύστημα — εγκατέστησα Go 1.26.5 μέσω Homebrew. Αν η ομάδα σας δεν ζει ήδη μέσα στο Go, αυτή είναι η πραγματική τριβή. Όχι η βιβλιοθήκη. Το περιβάλλον γλώσσας που χρειάζεται πριν μεταγλωττιστεί ούτε μία γραμμή.

Μόλις μπήκε το Go, η εγκατάσταση του Colly κύλησε ομαλά. Το go get github.com/gocolly/colly/v2 έλυσε το v2.3.0 χωρίς δράματα — ούτε browser, ούτε headless οτιδήποτε, τίποτα πέρα από το compiled binary στο τέλος. Βάλτε το δίπλα σε Python scrapers που εγκαθιστούν έναν parser και μετά καταρρέουν στο πρώτο fetch επειδή λείπουν μισά extra, και αυτό ήταν ευχάριστα αδιάφορο. Το αδιάφορο εδώ είναι κομπλιμέντο.

Μια σημείωση ακριβείας, ξεκάθαρα διατυπωμένη, γιατί αλλιώς θα σας μπερδέψει σίγουρα αν το ψάξετε. Το πιο πρόσφατο module στο Go proxy είναι το v2.3.0, δημοσιευμένο τον Δεκέμβριο του 2025. Η πιο πρόσφατη tagged release στο GitHub είναι το v2.2.0, από τον Μάρτιο του 2025. Άρα ο κώδικας που δοκίμασα — το v2.3.0 — προηγείται από αυτό που δείχνει η σελίδα Releases του repository. Είναι μια ιδιορρυθμία του πώς απομακρύνονται με τον χρόνο τα Go modules και τα GitHub tags, όχι ένδειξη ότι κάτι πάει στραβά. Απλώς μην ξαφνιαστείτε όταν το go get και η σελίδα Releases σας δίνουν διαφορετικούς αριθμούς.

Πρακτικά — τα νούμερα πίσω από το «γρήγορο»

Έτρεξα το Colly πάνω σε ένα self-contained fixture server βασισμένο στο httptest του Go, μαζί με δύο δημόσια demo sites, ώστε η συμπεριφορά να είναι αναπαραγώγιμη και όχι μια ιστορία που σας λέω στο περίπου. Να τι επέστρεψε.

Colly static and JSON results

TestTargetResult
Static catalog + paginationlocal fixture12/12 προϊόντα, recall 1.0
Article extractionlocal fixtureτίτλος + 3/3 παράγραφοι
Dynamic JSON APIlocal fixture8/8 items via OnResponse, recall 1.0
HTTP 500 handlinglocal fixtureστάλθηκε στο OnError, status 500
Crawl graph (MaxDepth 2)local fixture17 σελίδες
Books to Scrapepublic demo20 products
Dynamic page (no JS)local fixture0 cards (αναμενόμενο)
Quotes JS (no render)public demo0 (αναμενόμενο)

Colly depth-2 crawl graph

Αν το διαβάσετε από πάνω προς τα κάτω, η εικόνα δένει. Η εξαγωγή από στατικές σελίδες ήταν καθαρή — 12 στα 12 προϊόντα από τον κατάλογο, και οι 3 στις 3 παράγραφοι από το άρθρο, όλα τροφοδοτημένα από OnHTML selectors. Το test του JSON API δεν άνοιξε ποτέ HTML parser: το OnResponse έδωσε το body, το έκανα unmarshal και πήρα 8 στα 8 items. Το test με το 500 είναι εκείνο που εμπιστεύομαι περισσότερο, γιατί εκεί φαίνεται αν ένας crawler μπορεί να μείνει να δουλεύει όλη νύχτα ή όχι — το Colly έστειλε την αποτυχία στο OnError και εμφάνισε καθαρά το status, χωρίς crash και χωρίς σιωπηλή απώλεια. Στο δημόσιο Books to Scrape demo έβγαλε 20 προϊόντα χωρίς ειδικό χειρισμό.

Το αποτέλεσμα του crawl είναι το βασικό headline, και θέλω να το πω προσεκτικά. Ένας collector με MaxDepth(2), που ακολουθούσε links και τα έλυνε σε απόλυτα URLs, έφτασε τις 17 σελίδες μέσα στο fixture graph μου. Αυτό είναι επιτέλους το «fast Go crawler» με πραγματικό πλήθος σελίδων και όχι με διάθεση. Προσέξτε όμως τη διατύπωση — 17 σελίδες μέσα σε crawl με depth 2. Ο αριθμός βάθους εκεί είναι μετρητής του δικού μου test harness, δηλαδή του τρόπου που ρύθμισα την εκτέλεση· δεν ισχυρίζομαι ότι το Colly εγγυάται εσωτερικά «ακριβώς depth 2 και ούτε link παραπέρα» ως συμβατική δέσμευση. Η τίμια, ελέγξιμη διατύπωση είναι αυτή: με όριο βάθους 2, το crawl διέσχισε το graph και έφτασε στις 17 σελίδες.

Colly JavaScript zero result

Και τώρα το ταβάνι, εκεί που συνήθως σιωπούν τα posts του τύπου «είναι τόσο γρήγορο». Το Colly δεν εκτελεί JavaScript. Το στόχευσα σε ένα fixture με απόδοση μέσω JavaScript και πήρα 0 cards· το ίδιο συνέβη και όταν το έστειλα στη δημόσια Quotes to Scrape JS page — πάλι 0. Δεν είναι bug, ούτε μειονέκτημα. Το Colly είναι HTTP crawler — κατεβάζει και αναλύει HTML, αλλά δεν ανοίγει ποτέ browser για να τρέξει client-side scripts. Όπως και οι Scrapy και άλλοι HTTP-first crawlers, αν το περιεχόμενο που θέλετε εμφανίζεται μόνο αφού εκτελεστεί JavaScript, το Colly θα σας επιστρέφει άδειο αποτέλεσμα κάθε φορά, και καμία ωμή ταχύτητα δεν αλλάζει αυτό το όριο. Συνδυάστε το με renderer ή επιλέξτε εργαλείο που τον περιλαμβάνει.

Θα είμαι το ίδιο ξεκάθαρος και για όσα δεν δοκίμασα, ώστε κανείς να μη φουσκώσει τα αποτελέσματά μου πέρα από τα δεδομένα. Δεν πίεσα το async collector, ούτε τις ρυθμίσεις rate-limiting και politeness, ούτε rotation proxies, ούτε τα queue και storage backends. Όλα αυτά υπάρχουν στο Colly. Εγώ έτρεξα τον βασικό πυρήνα εξαγωγής και crawl, όχι την υποδομή κλιμάκωσης. Το README μιλά για throughput πάνω από χίλια request το δευτερόλεπτο σε έναν πυρήνα, αλλά αυτό είναι δικό τους νούμερο — εγώ μέτρησα πλήθος σελίδων και recall, όχι throughput, οπότε όταν λέω «γρήγορο» εννοώ τη διαδρομή εξαγωγής σε compiled Go που όντως χρονομέτρησα, όχι ένα benchmark απέναντι στο Scrapy που δεν έτρεξα.

Πλεονεκτήματα και μειονεκτήματα

Πλεονεκτήματα:

  • Πλήρης κάλυψη σε στατική εξαγωγή — 12/12 προϊόντα καταλόγου και 3/3 παράγραφοι άρθρου μέσω OnHTML.
  • Καθαρός χειρισμός JSON μέσω OnResponse, χωρίς να χρειάζεται DOM parsing — 8/8 API items.
  • Σωστή δρομολόγηση αποτυχίας — το 500 κατέληξε στο OnError με το status εμφανές, χωρίς crash.
  • Ένα crawl με περιορισμένο βάθος έφτασε τις 17 σελίδες από έναν μόνο collector.
  • Ένα static Go binary, μηδενικά runtime dependencies — εξαιρετικό προφίλ για deployment και λειτουργία.
  • Φιλική και επιτρεπτική άδεια Apache-2.0.

Μειονεκτήματα:

  • Καμία εκτέλεση JavaScript — περιεχόμενο που αποδίδεται client-side επιστρέφει 0, τέλος.
  • Απαιτεί Go toolchain· οι ομάδες που δεν δουλεύουν ήδη σε Go πληρώνουν αυτό το setup πριν γράψουν καν scraper.
  • Το πιο πρόσφατο module (v2.3.0) προηγείται από το νεότερο tagged release (v2.2.0), κάτι που θα μπερδέψει όποιον βλέπει μόνο τη σελίδα Releases.
  • Το output είναι δικός σας κώδικας — το Colly δίνει callbacks, όχι έτοιμο dataset ή feed exporter όπως το Scrapy.
  • Τα async, rate-limiting, proxy και queue backends υπάρχουν, αλλά εδώ δεν δοκιμάστηκαν· το «γρήγορο» είναι η διαδρομή εξαγωγής που μέτρησα, όχι ένας απευθείας αριθμός throughput.

Για ποιον είναι το Colly — και ποιος καλύτερα να το αποφύγει

Colly no-browser boundary

Το Colly ταιριάζει αν γράφετε ήδη σε Go και κάνετε crawl σε sites που βασίζονται σε HTML ή JSON με ταχύτητα. Αν για εσάς «καθαρό deploy» σημαίνει ένα binary στο server και εκτέλεση — χωρίς interpreter, χωρίς virtualenv, χωρίς κλήρωση με dependencies — το εργαλείο έχει φτιαχτεί ακριβώς γι’ αυτή τη λογική. Το μοντέλο των callbacks αποδεικνύεται χρήσιμο μόλις η εξαγωγή παύει να είναι απλή: OnHTML για τη δομή, OnResponse για τα ακατέργαστα payloads, OnError για τα failures που αλλιώς δεν θα βλέπατε ποτέ. Για στατικό target ή API-backed site που το τρέχετε σε πρόγραμμα από CI, είναι μια δυνατή επιλογή χωρίς δράμα.

Καλύτερα να το αποφύγετε — ή τουλάχιστον να το συνδυάσετε με δεύτερο εργαλείο — όταν οι στόχοι σας βασίζονται σε JavaScript. Το Colly επέστρεψε 0 σε κάθε client-rendered page που του έβαλα μπροστά του, και αυτό είναι εκ προθέσεως, όχι μια ρύθμιση που απλώς παραλείψατε. Αποφύγετέ το επίσης αν η ομάδα σας δεν αγγίζει Go και δεν θέλετε να στήσετε toolchain μόνο και μόνο για να κάνετε scrape μερικά sites — η δέσμευση στη γλώσσα είναι πραγματική και θα πρέπει να τη συντηρείτε. Και αν θέλετε δομημένα δεδομένα να σας παραδίδονται έτοιμα αντί να τα παράγει κώδικας που γράφετε εσείς, τα callbacks του Colly βάζουν το βάρος καθαρά στη δική σας πλευρά.

Εναλλακτικές — πού ταιριάζει ένα managed AI scraping API

Το Colly είναι ένα δωρεάν, ανοιχτού κώδικα library που το κάνετε compile και το τρέχετε μόνοι σας. Εσείς έχετε τον κώδικα Go, τα callbacks, τη λογική του crawl και το μηχάνημα που το εκτελεί — και ως αντάλλαγμα δεν πληρώνετε τίποτα ανά request και κρατάτε όλη τη διαδικασία εντός της εταιρείας. Για ένα Go shop, αυτή είναι απολύτως υπερασπίσιμη επιλογή, και το deploy σε ένα binary είναι πραγματικά ευχάριστο.

Τα δύο σημεία όπου σταματά είναι ακριβώς τα δύο που αξίζει να συγκρίνετε με κάτι άλλο. Πρώτον, JavaScript — το Colly δεν το αποδίδει, οπότε ό,τι είναι client-side βγαίνει εκτός, εκτός αν προσθέσετε browser από πάνω. Δεύτερον, δομή — το Colly δίνει callbacks και αφήνει το καθαρό output στη δική σας λογική. Ένα managed AI scraping API απαντά διαφορετικά και στα δύο. Το developer stack της Thunderbit χειρίζεται το rendering του JS και επιστρέφει δομημένα δεδομένα από την πλευρά του server. Το POST /distill μετατρέπει μια σελίδα σε καθαρό Markdown έτοιμο για LLM, με δυναμικό περιεχόμενο και anti-bot χειρισμό να γίνονται για εσάς. Το POST /extract επιστρέφει δομημένο JSON βάσει JSON Schema που ορίζετε εσείς, με renderMode που μπορείτε να ανεβάσετε μέχρι πλήρη browser rendering όταν μια σελίδα το χρειάζεται. Υπάρχει επίσης Thunderbit MCP server για AI agents και coding assistants — το thunderbit_suggest_fields είναι δωρεάν, ώστε να δείτε τι εκθέτει μια σελίδα πριν δεσμευτείτε — και CLI που τρέχει με npx @thunderbit/thunderbit-cli για terminal, CI και cron.

Δοκιμάστε το Thunderbit για Εξαγωγή Δεδομένων από το Web

Το trade-off δεν είναι καλύτερο ή χειρότερο. Είναι το πού βρίσκεται η δουλειά. Με το Colly κρατάτε το rendering — δηλαδή κανένα rendering —, το parsing και τη συντήρηση μέσα στο δικό σας compiled binary, με μηδενικό κόστος ανά κλήση, και το φροντίζετε εσείς όταν ένα site αλλάξει μορφή. Με ένα managed API αναθέτετε το JS rendering, το anti-bot και τη δομημένη έξοδο, και πληρώνετε ανά κλήση για αυτή την ευκολία. Μικροί στόχοι, Go-native, HTML- ή JSON-backed, που θέλετε και μπορείτε να τους συντηρείτε μόνοι σας; Η ευχέρεια ελέγχου και η ταχύτητα του Colly κερδίζουν ξεκάθαρα. Σελίδες γεμάτες JavaScript ή απλώς προτιμάτε να λαμβάνετε JSON στη σωστή μορφή αντί να γράφετε άλλο ένα callback; Εκεί ταιριάζει η managed προσέγγιση. Αν θέλετε τη συνολική εικόνα της αγοράς, οι συγκεντρώσεις για τα καλύτερα web scraping tools και τα καλύτερα GitHub projects για web scraping δείχνουν πού στέκεται μια βιβλιοθήκη όπως το Colly δίπλα στις browser-based και managed επιλογές.

Συμπέρασμα

Να χρησιμοποιήσετε το Colly; Ναι — αν γράφετε Go και κάνετε crawl σε HTML ή JSON με ταχύτητα, κάνει αυτό που υπόσχεται η φήμη του ως «fast crawler», και τώρα υπάρχουν και νούμερα πίσω από τη φήμη. Πλήρης κάλυψη στη στατική εξαγωγή. Καθαρό JSON μέσω OnResponse. Ένα 500 που δρομολογήθηκε σωστά στο OnError. Ένα crawl βάθους 2 που έφτασε τις 17 σελίδες. Όλα μεταγλωττισμένα σε ένα static binary χωρίς runtime dependencies, που είναι ίσως το πιο φιλικό deploy story σε όλη αυτή την κατηγορία.

Απλώς βάλτε τις υποσχέσεις στη σωστή κλίμακα. Δεν κάνει render JavaScript — κάθε client-side σελίδα στο δικό μου run επέστρεψε 0, και αυτό είναι μόνιμο, όχι μια ρύθμιση που ξεχάσατε. Χρειάζεται Go toolchain, άρα οι ομάδες που δεν είναι ήδη σε Go πληρώνουν κόστος setup από πριν. Το module που εγκαθιστάτε (v2.3.0) προηγείται από το νεότερο tagged release (v2.2.0), οπότε μην πανικοβληθείτε αν οι σελίδες διαφωνούν μεταξύ τους. Και το «γρήγορο» εδώ σημαίνει τη διαδρομή εξαγωγής που μέτρησα, όχι benchmark throughput που δεν έτρεξα. Μέσα σε αυτά τα όρια, το Colly είναι ένας γρήγορος, αξιόπιστος και πραγματικά deployable Go crawler — και αποδεικνύει τη φήμη του τη στιγμή που σταματάτε να του ζητάτε να τρέξει JavaScript.

Δοκιμάστε το Thunderbit για Εξαγωγή Δεδομένων από το Web Get Started Free

Συχνές ερωτήσεις

Είναι πραγματικά γρήγορο το Colly και υπάρχει νούμερο πίσω από αυτό; Είναι γρήγορο με την έννοια που μετρά για τον βασικό δρόμο που δοκίμασα: compiled Go, πλήρης κάλυψη στη στατική εξαγωγή (12/12 προϊόντα καταλόγου), καθαρός χειρισμός JSON και ένα crawl βάθους 2 που έφτασε τις 17 σελίδες — όλα από ένα μόνο static binary. Αυτό που δεν έτρεξα είναι benchmark throughput απέναντι στο Scrapy, οπότε πάρτε το «γρήγορο» ως μετρημένη συμπεριφορά εξαγωγής και όχι ως απευθείας σύγκριση ταχύτητας.

Μπορεί το Colly να κάνει scrape σε σελίδες που αποδίδονται με JavaScript; Όχι. Το Colly είναι HTTP crawler — κατεβάζει και αναλύει HTML, αλλά δεν τρέχει browser. Ένα fixture που αποδίδεται με JavaScript επέστρεψε 0 cards, και η δημόσια σελίδα Quotes JS επέστρεψε επίσης 0. Για client-side περιεχόμενο θα χρειαστεί να το συνδυάσετε με renderer ή να χρησιμοποιήσετε εργαλείο που έχει ενσωματωμένο browser rendering.

Χρειάζεται να ξέρω Go για να χρησιμοποιήσω το Colly; Ναι. Το Colly είναι βιβλιοθήκη Go, όχι ανεξάρτητο CLI — κάνετε import, δηλώνετε callbacks (OnHTML, OnResponse, OnError) και κάνετε compile. Το μηχάνημα που δοκίμασα δεν είχε Go, οπότε η εγκατάσταση ξεκίνησε με toolchain (1.26.5). Αν η ομάδα σας δεν δουλεύει ήδη σε Go, αυτό το περιβάλλον είναι το πραγματικό κόστος setup.

Γιατί η έκδοση που εγκαθιστώ δεν ταιριάζει με την τελευταία release του Colly στο GitHub; Επειδή το Go module και το GitHub release tag έχουν απομακρυνθεί μεταξύ τους. Το πιο πρόσφατο module στο Go proxy είναι το v2.3.0 (Δεκέμβριος 2025), ενώ το νεότερο tagged release στο GitHub είναι το v2.2.0 (Μάρτιος 2025). Εγώ δοκίμασα το v2.3.0. Είναι ιδιορρυθμία modules-versus-tags, όχι χαλασμένη εγκατάσταση.

Είναι το Colly δωρεάν για εμπορική χρήση; Είναι Apache-2.0, άρα επιτρεπτικό και φιλικό για εμπορική χρήση. Όπως πάντα, επιβεβαιώστε την τρέχουσα άδεια στο repo πριν βασιστείτε πάνω του.

Ke
Ke
CTO στη Thunderbit | Senior Data Scientist & ML Expert Με σχεδόν μια δεκαετία εμπειρίας στη μηχανική μάθηση και την επιστήμη δεδομένων, ο Ke Shen είναι απόφοιτος του Columbia University και πρώην Senior Data Scientist στα Walmart Labs. Με βαθιά, αναγνωρισμένη από συναδέλφους τεχνογνωσία σε Python, R, Java και Στατιστική, μοιράζεται δοκιμασμένες στην πράξη γνώσεις για το πώς οι σύνθετοι αλγόριθμοι τεχνητής νοημοσύνης περνούν από τη θεωρία σε αρχιτεκτονική έτοιμη για παραγωγή.

Δοκίμασε το Thunderbit

Εξήγαγε leads και άλλα δεδομένα σε μόλις 2 κλικ. Με AI.

Απόκτησε το Thunderbit Είναι δωρεάν
Εξαγωγή δεδομένων με AI
Μετέφερε εύκολα δεδομένα σε Google Sheets, Airtable ή Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week