1.0.2 • Published 8 months ago
almuten-scraper v1.0.2
almuten-scraper
A TypeScript library for scraping astrological chart data from almuten.net.
Features
- Fetches detailed astrological chart data based on birth information
- Retrieves information about planets, houses, and aspects
- Identifies astrological patterns like Grand Trines, Grand Crosses, Kites, and Stelliums
- Calculates flying houses and other astrological features
- Supports both English and Chinese localization
- Properly handles timezone conversions
Installation
npm install almuten-scraper
# or
yarn add almuten-scraper
# or
bun add almuten-scraperUsage
ESM (ECMAScript Modules)
import { AlmutenScraper, BirthInfo } from "almuten-scraper";
// Create birth information object
const birthInfo: BirthInfo = {
name: "John Doe",
year: 1990,
month: 1,
day: 15,
hour: 12,
minute: 30,
location: "New York, USA",
latitude: 40.7128,
longitude: -74.006,
};
// Create scraper instance
const scraper = new AlmutenScraper({
birthInfo,
options: {
timeout: 5000, // Optional: HTTP request timeout in ms
traditional: false, // Optional: Use traditional astrology settings
},
});
// Get horoscope data
try {
const horoscopeData = await scraper.getHoroscopeData();
console.log(horoscopeData);
} finally {
// Always close the scraper when done
await scraper.close();
}CommonJS
// For CommonJS environments (Node.js without "type": "module" in package.json)
const { AlmutenScraper } = require("almuten-scraper");
// Or alternatively using dynamic import
async function run() {
const { AlmutenScraper } = await import("almuten-scraper");
// Rest of the code...
}API Reference
BirthInfo Interface
Information required to generate an astrological chart:
| Property | Type | Description |
|---|---|---|
| name | string | Name of the person |
| year | number | Birth year |
| month | number | Birth month (1-12) |
| day | number | Birth day (1-31) |
| hour | number | Birth hour (0-23) |
| minute | number | Birth minute (0-59) |
| location | string | Birth location name |
| latitude | number | Birth location latitude |
| longitude | number | Birth location longitude |
AlmutenScraper Class
Main class for scraping astrological data:
Constructor
constructor(config: ScraperConfig)config: Configuration object containingbirthInfoand optionaloptions
Methods
getHoroscopeData(): Fetches and returns complete horoscope datafetchPage(url: string): Fetches raw HTML from almuten.netclose(): Closes connections and resources
HoroscopeData Interface
The returned data structure includes:
birthInfo: Original birth informationplanets: Array of planet positions and informationhouses: Array of house positions and informationaspects: Array of aspects between planetsascendant: Ascendant informationmidheaven: Midheaven informationspecialPoints: Other special points in the chart
License
See the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.