Python 被高估了吗?真正的 Web Scraping 最佳语言
Source: Dev.to
Introduction
“有没有哪个库在我部署时不会烂掉?”
在 macOS 上配置 undetected‑chromedriver 过去对我来说简直是痛苦。很多客户并不真正了解这些是怎么工作的,而且他们想要一个 GUI 来交互。当然,Python 有用于构建 GUI 的库……但大多数看起来像是直接从 2000 年代初期搬来的。
Python’s Limitations
- GUI 库显得过时。
- 部署可能很繁琐。
- 对于大规模爬虫流水线,数据清洗能力并不理想。
Switching to JavaScript
我开始寻找替代方案,最终转向 JavaScript。
- 更好的爬虫库,例如 Puppeteer。
- 部署体验更顺畅。
- 已经是 Web 应用的主要语言,所有东西更自然地配合在一起。
Discovering Go
就在这时我发现了 Golang。它的社区虽小但在增长,在以下方面绝对占优势:
- 速度、可靠性和并发性。
- 简单的部署:生成一个二进制文件即可。
Go 在网络编程方面表现出色,并通过 chromedp 和 rod 等库提供了对网页自动化的坚实支持。在扩展性方面,Go 超越了 Python,尤其是在 CPU 密集型和高并发工作负载下。其他优势包括:
- 可预测的内存占用。
- 更快的启动时间。
- 能够处理成千上万的并发连接而不会耗尽资源。
Comparing the Ecosystems
你可以争辩说 Python 拥有更多的库,TypeScript 让 JavaScript 更可靠。我同意——每种语言都有其优势。然而,Go 所提供的原始性能、部署简易性以及一致性是很难匹配的。
- Go 可以构建基于 IPC 的通信层,并且能够轻松与其他语言集成,用于前端或专用工具。
- Go 的生态相对较小,但正在快速改进。
Conclusion
如果 Go 继续获得强有力的支持并被更广泛采用,它完全有可能在网页爬取领域挑战 Python 的主导地位——尤其是在大规模、生产级系统中,性能、稳定性和部署是最关键的因素。