x-crawl

x-crawl 是一个灵活的 Node.js 多功能爬虫库,支持异步/同步爬取、动态/静态页面爬取、接口数据获取、文件下载等功能,具有失败重试、轮换代理、设备指纹等特性,帮助用户快速、安全、稳定地进行网络爬取。

Check out x-crawl on CurateClick

• Copy the embed code to showcase this product on your website

• Share on X to spread the word about this amazing tool

x-crawl · npm GitHub licensex-crawl 是一个灵活的 Node.js 多功能爬虫库。灵活的使用方式和众多的功能可以帮助您快速、安全、稳定地爬取页面、接口以及文件。> 如果你也喜欢 x-crawl ,可以给 x-crawl 存储库 点个 star 支持一下,感谢大家的支持!**GitHub:https://github.com/coder-hxl/x-crawl**## 特征- 🔥 异步同步 - 只需更改一下 mode 属性即可切换异步或同步爬取模式。- ⚙️ 多种用途 - 支持爬动态页面、静态页面、接口数据、文件以及轮询操作。- ⚒️ 控制页面 - 爬取动态页面支持自动化操作、键盘输入、事件操作等。- 🖋️ 写法灵活 - 同种爬取 API 适配多种配置,每种配置方式都非常独特。- ⏱️ 间隔爬取 - 无间隔、固定间隔以及随机间隔,产生或避免高并发爬取。- 🔄 失败重试 - 避免因短暂的问题而造成爬取失败,自定义重试次数。- ➡️ 轮换代理 - 配合失败重试,自定义错误次数以及 HTTP 状态码自动轮换代理。- 👀 设备指纹 - 零配置或自定义配置,避免指纹识别从不同位置识别并跟踪我们。- 🚀 优先队列 - 根据单个爬取目标的优先级可以优先于其他目标提前爬取。- 🧾 爬取记录 - 对爬取进行记录,并在终端使用彩色字符串提醒。- 🦾 TypeScript - 拥有类型,通过泛型实现完整的类型。## 示例以每天自动获取世界各地的经历和房间的一些照片为例:js// 1.导入模块 ES/CJSimport xCrawl from 'x-crawl'// 2.创建一个爬虫实例const myXCrawl = xCrawl({ maxRetry: 3, intervalTime: { max: 2000, min: 1000 } })// 3.设置爬取任务// 调用 startPolling API 开始轮询功能,每隔一天会调用回调函数myXCrawl.startPolling({ d: 1 }, async (count, stopPolling) => { // 调用 crawlPage API 来爬取页面 const pageResults = await myXCrawl.crawlPage({ targets: [ 'https://www.airbnb.cn/s/*/experiences', 'https://www.airbnb.cn/s/plus_homes' ], viewport: { width: 1920, height: 1080 } }) // 通过遍历爬取页面结果获取图片 URL const imgUrls = [] for (const item of pageResults) { const { id } = item const { page } = item.data const elSelector = id === 1 ? '.i9cqrtb' : '.c4mnd7m' // 等待页面元素出现 await page.waitForSelector(elSelector) // 获取页面图片的 URL const urls = await page.$$eval(`${elSelector} picture img`, (imgEls) => imgEls.map((item) => item.src) ) imgUrls.push(...urls.slice(0, 6)) // 关闭页面 page.close() } // 调用 crawlFile API 爬取图片 await myXCrawl.crawlFile({ targets: imgUrls, storeDirs: './upload' })})运行效果:<div align="center"> <img src="https://raw.githubusercontent.com/coder-hxl/x-crawl/main/assets/run-example.gif" /></div>注意: 请勿随意爬取,爬取前可查看 robots.txt 协议。网站的类名可能会有变更,这里只是为了演示如何使用 x-crawl 。## 更多更多内容可查看:https://github.com/coder-hxl/x-crawl

Latest Weekly Picks

make.ink favicon
Weekly Pick

Your AI tattoo generator for pro-grade concepts

Leo Wade
sellfy.com favicon
Weekly Pick

A code-free online store builder to turn views into revenue. Sell digital products, subscriptions, and merch, without fees or hassle.

Maris
www.videotoblog.ai favicon
Weekly Pick

Convert videos into awesome blog posts.

Video To Blog
www.sellerpic.ai favicon
Weekly Pick

SellerPic is the all-in-one AI design platform for e-commerce

SellerPic
fastimage.ai favicon
Weekly Pick

Fast Image AI instantly transforms your photos into stunning styles like Ghibli, Sketch, and Pixar. Effortlessly control image elements and create amazing effects with just one click.

Fast AI Team
linkedinpro.daisy.so favicon
Weekly Pick

AI-powered tool that transforms casual photos into professional LinkedIn headshots instantly. No photographer needed—just upload and download.

Gabriel
crevas.ai favicon
Weekly Pick

Crevas unifies Veo 3, Sora 2, Nano Banana and more into one intuitive canvas — so filmmakers can script, prompt, and generate cinematic stories without switching tools or losing consistency.

Spark Alpha
fotominiatur.com favicon
Weekly Pick

AI Foto Edit - Text to Image & Image Edit

foto miniatur