@mashakujou/manhwaweb-scraper
Version:
Scraper ligero para obtener datos de capítulos de Manhwaweb desde su API pública
101 lines (62 loc) • 2.14 kB
Markdown
# ManhwaWeb Scraper
Este proyecto es un scraper para obtener información, imágenes y capítulos de manhwas desde ManhwaWeb usando su API pública.
## Requisitos
- Node.js (v14+ recomendado)
- npm o yarn
- Conexión a Internet
## Instalación
1. Instala las dependencias:
```bash
npm install axios
```
## Archivos principales
- `index.js`: Código principal con funciones para buscar manhwas, obtener capítulos, imágenes, info de series y capítulos previos/siguientes.
## Uso básico
1. Importa las funciones desde `index.js`:
```js
const api = require('./index');
```
2. Opcional: activa el modo debug para ver detalles del proceso:
```js
api.setDebug(true);
```
3. Buscar manhwas por texto:
```js
const { results, totalPages } = await api.search('School', 0, true);
console.log(results);
```
- El tercer parámetro opcional `true` hace que también incluya el link al primer capítulo en cada resultado (`firstChapterUrl`).
4. Usar el link de capítulo para obtener información:
```js
const chapterUrl = results[0].firstChapterUrl;
const fullData = await api.full(chapterUrl);
console.log(fullData.title);
console.log(fullData.imgs); // Array de URLs de imágenes
const imgs = await api.images(chapterUrl);
console.log(imgs);
const pn = await api.prevNext(chapterUrl);
console.log(pn.prev, pn.next);
```
5. Obtener información de la serie (usa el ID o URL de la serie):
```js
const idSerie = results[0].url.split('/').pop();
const info = await api.seriesInfo(idSerie);
console.log(info);
```
## Funciones disponibles
- `search(q, p = 0, includeFirstChapter = false)`
Busca manhwas por texto `q`. Devuelve resultados y total páginas. Si `includeFirstChapter` es true, cada resultado incluye el link al capítulo 1.
- `full(urlCapitulo)`
Obtiene título, imágenes y capítulos previos/siguientes del capítulo indicado.
- `images(urlCapitulo)`
Devuelve solo las imágenes del capítulo.
- `prevNext(urlCapitulo)`
Devuelve URLs de capítulos previos y siguientes.
- `seriesInfo(idSerie | urlSerie)`
Obtiene información general de la serie.