Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ariya/penjabarberita

Extract the article list from its raw news HTML
https://github.com/ariya/penjabarberita

articles cheerio crawler headlines html indexer indonesia news scraper spider

Last synced: 15 days ago
JSON representation

Extract the article list from its raw news HTML

Awesome Lists containing this project

README

        

# Penjabar Berita

[![npm (scoped)](https://img.shields.io/npm/v/@ariya/penjabarberita)](https://www.npmjs.com/package/@ariya/penjabarberita)
[![GitHub license](https://img.shields.io/github/license/ariya/penjabarberita)](https://github.com/ariya/penjabarberita/blob/master/LICENSE)
![Tests](https://github.com/ariya/penjabarberita/workflows/Tests/badge.svg)

[Bahasa Indonesia](#indonesian) | [English](#english)

---

### Bahasa Indonesia

**Penjabar Berita**: Pustaka JavaScript untuk Node.js ([@ariya/penjabarberita](https://www.npmjs.com/package/@ariya/penjabarberita)) guna mendapatkan daftar artikel (judul, tautan, waktu) dari berkas HTML yang mewakili indeks berita tersebut.

Penjabar Berita dikhususkan untuk mengolah surat kabar daring Indonesia. Saat ini, yang bisa diproses adalah indeks berita dari Antara, BBC Indonesia, CNBC Indonesia, CNN Indonesia, Intisari, Jawa Pos, Kompas, Kontan, Liputan 6, Pikiran Rakyat, Republika, Suara, Tempo, The Conversations, TurnBackHoax, Viva News.

Instalasi: `npm install @ariya/penjabarberita`.

Misalkan berkas `data.html` didapatkan dengan mengambil indeks berita dari laman surat kabar Kompas, katakanlah menggunakan cURL dengan langkah `curl -o data.html https://www.kompas.com/tag/virus-corona`, maka berkas tersebut bisa diproses seperti di bawah ini:

```js
const fs = require('fs');
const penjabarberita = require('@ariya/penjabarberita');

const buffer = fs.readFileSync('data.html', 'utf-8');
const list = penjabarberita(buffer.toString());
console.log(list.map(n => n.title));
```

yang akan menghasilkan keluaran seperti:
```
[
'Pentingnya Meningkatkan Sistem Kekebalan Tubuh dengan Vitamin',
'Bisakah Virus Corona Bertahan di Rambut Manusia?',
// dst...
]
```

Di samping judul artikel (`title`), bisa juga didapatkan tautan (`url`) dan tanggal/waktu (`timestamp`, sebagai Unix epoch).

---

### English

**Penjabar Berita**: A JavaScript library for Node.js ([@ariya/penjabarberita](https://www.npmjs.com/package/@ariya/penjabarberita)) to extract the article list (title, link, timestamp) from its HTML representation.

Penjabar Berita is geared towards processing the article index of online news sites in Indonesia, currently supporting Antara, BBC Indonesia, CNBC Indonesia, CNN Indonesia, Intisari, Jawa Pos, Kompas, Kontan, Liputan 6, Pikiran Rakyat, Republika, Suara, Tempo, The Conversations, TurnBackHoax, Viva News.

Installation: `npm install @ariya/penjabarberita`.

Assuming `data.html` is obtained by retrieving the news index from Kompas, for instance (by using cURL) `curl -o data.html https://www.kompas.com/tag/virus-corona`, then the file can be processed as follows:

```js
const fs = require('fs');
const penjabarberita = require('@ariya/penjabarberita');

const buffer = fs.readFileSync('data.html', 'utf-8');
const list = penjabarberita(buffer.toString());
console.log(list.map(n => n.title));
```

which will result in:
```
[
'Pentingnya Meningkatkan Sistem Kekebalan Tubuh dengan Vitamin',
'Bisakah Virus Corona Bertahan di Rambut Manusia?',
// and so on...
]
```

In addition to the article title (`title`), the article link (`url`) and published date/time (`timestamp`, as Unix epoch) are available as well.